【问题标题】:Changing variable in another function in JavaScript在 JavaScript 中的另一个函数中更改变量
【发布时间】:2012-03-24 21:06:10
【问题描述】:

我对 JavaScript 还是很陌生,但在变量和函数的一些属性方面遇到了问题。

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

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

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

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

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

【问题讨论】:

    标签: javascript function variables


    【解决方案1】:

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

    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/

    【讨论】:

    • 我觉得拳头比较“正常”。
    猜你喜欢
    • 1970-01-01
    • 2017-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 2017-01-03
    • 2012-08-02
    相关资源
    最近更新 更多