在JavaScript中更改另一个函数中的变量

时间:2012-03-24 21:06:10

标签: javascript function variables

我是JavaScript的新手,我遇到了变量和函数的一些属性问题。

我想要发生的是在一个函数中定义var,在另一个函数中更改值,然后将新值返回到最初定义它的函数。

以下是我做的一个简单示例:

function getIt(){
    var x = 3;
    doubleIt(x);
    alert("The new value is: " + x);
}

function doubleIt(num){
    num *= 2;
    return num;
}

运行此操作时,警报仍会显示x的原始值。是否有语法可以更改原始函数中的值?

1 个答案:

答案 0 :(得分:7)

最简单的方法是将结果分配回变量

x = doubleIt(x);

演示:http://jsfiddle.net/ES65W/


如果您确实想通过引用传递,则需要一个对象容器来传递该值。对象在JavaScript中通过引用传递:

function getIt(){
    var myObj={value:3};
    doubleIt(myObj);
    alert("the new value is: " + myObj.value);
}

function doubleIt(num){
    num.value *=2;
    //return num;
}

演示:http://jsfiddle.net/dwJaT/