自动更新javascript中的实际参数

时间:2012-06-14 15:12:00

标签: javascript

如何在调用java脚本方法时通过引用传递原始变量(如字符串)? 这相当于C#中的out或ref关键字。

我有一个像var str = "this is a string";这样的变量,并将str传递给我的函数,当我更改参数值时自动必须反映str的变化

function myFunction(arg){
    // automatically have to reflect the change in str when i change the arg value
    arg = "This is new string";
    // Expected value of str is "This is new string"
}

1 个答案:

答案 0 :(得分:3)

原始类型,即字符串/数字/布尔值,按值传递。 函数,对象,数组等对象通过引用“传递”。

所以,你想要的东西是不可能的,但是下面的方法会有效:

        var myObj = {};
        myObj.str = "this is a string";
        function myFunction(obj){
            // automatically have to reflect the change in str when i change the arg value
            obj.str = "This is new string";
            // Expected value of str is "This is new string"
        }
        myFunction(myObj);
        console.log(myObj.str);