将变量传递给javascript

时间:2018-07-12 20:17:59

标签: javascript function

我需要从页面加载时的HTML输入中获取一个值。我可以从HTML成功获取值。我需要将该变量传递给另一个函数的参数。

这是我的HTML代码:

<input value="3232" id="demo">

这是我的脚本的主要功能,我可以从HTML中获取值:

 document.addEventListener('DOMContentLoaded', function() {
  var val = document.getElementById('demo').value
  console.log(val)
 });


var fun3 = function(appData){

}

我需要将var val传递给fun3,并且参数appData应该是val的引用。我应该能够通过var val访问该appData。我不知道该怎么做。

4 个答案:

答案 0 :(得分:1)

您可以在全局范围内声明val

let val = 0;
 document.addEventListener('DOMContentLoaded', function() {
  val = document.getElementById('demo').value
  console.log(val)
 });


var fun3 = function(appData){
      console.log(val) // acessible here
}

但这是神父,为什么您不能只从功能输入中获取价值?还是将数据传递到被调用的函数中?

答案 1 :(得分:1)

您可以使用bind将该输入的值设置为函数的默认参数

document.addEventListener('DOMContentLoaded', function() {
  var val = document.getElementById('demo').value
  fun3 = fun3.bind(null, val);
 });


var fun3 = function(appData){
  console.log(arguments);
}

setTimeout(function(){
  fun3('hey');
  // or just () for default params
  fun3();
}, 0)
<input value="3232" id="demo">

答案 2 :(得分:0)

您几乎拥有它。只需从fun3事件处理程序回调函数中调用DOMContentLoaded

document.addEventListener('DOMContentLoaded', function() {
  console.log('DOMContentLoaded event handler..');
  var val = document.getElementById('demo').value;
  fun3(val);
});


var fun3 = function(appData) {
  console.log('fun3(...)');
  //you see that val from your event handler function is now referred to as 'appData' locally.
  console.log(appData);
}
<input value="3232" id="demo">

答案 3 :(得分:-3)

angular.
  module('request.Request').
  factory('Request', ['$resource',
        function($resource) {
            return $resource('./php/acessing.php',{
                teste: "@id",
            }, {
                save: {
                    method: 'POST',
                    hasBody: true,
                    isArray: true,
                    cache: false
                }
            });
        }
]);