如何在调用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"
}
答案 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);