4

调用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"
}
4

1 回答 1

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);
于 2012-06-14T15:31:40.260 回答