我对 JavaScript 很陌生,并且在变量和函数的某些属性方面遇到了问题。

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

这是我制作的一个简单示例:

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

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

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

最佳答案

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

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/

关于javascript - 在 JavaScript 中的另一个函数中更改变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9855625/

10-12 12:29
查看更多