如何在javascript中传递变量

时间:2015-01-28 16:47:14

标签: javascript

我正在清理代码,但我遇到了这个问题。例如。 如何从函数b获取变量?

function a()
{
    var a = 0;
    function b(a);
    if( a == 1){
        function c;
    }
}
function b{
    a = 1
}

谢谢你

2 个答案:

答案 0 :(得分:2)

JavaScript没有pass-by-reference,因此让函数修改变量的选项是:

  1. 让它返回新值,然后分配回变量

  2. 传递数组引用并修改数组中的一个条目

  3. 传递一个对象引用并让它修改对象上的属性

  4. 使用包含两个函数的范围中声明的变量;然后他们都关闭它,并分享它 - 但不要不必要地使用全局变量或近似全局变量

  5. 问题中的代码对我来说有太多问题无法理解,但如果目标是在函数{{1}中使函数b 修改变量a你最好的选择是#1:

    a
    function a() {
      var a = 1;
      a = b(a);
      snippet.log(a); // 2
    }
    function b(arg) {
      return arg * 2;
    }
    
    a();

答案 1 :(得分:0)

未经测试的代码,但也许类似于此:

function a(randomname)
{
    var variable = randomname
    alert(variable);  //Popup message box with passed variable "Hello".
    var a = 0;
    function b(a);
    if( a == 1){
        function c;
    }
}
function b{
    var value = "Hello"
    a(value);   //Pass variables like this. Go to function "A" and pass "value".

}