JavaScript中的指针?
我们可以传递不可变的变量引用作为函数中的参数吗?
例:
var x = 0;function a(x)
{
x++;
}
a(x);
alert(x); //Here I want to have 1 instead of 0
回答:
由于JavaScript不支持通过引用传递参数,因此您需要将变量设置为对象:
var x = {Value: 0};function a(obj)
{
obj.Value++;
}
a(x);
document.write(x.Value); //Here i want to have 1 instead of 0
在这种情况下,x
是对对象的引用。当x
传递给函数时a
,该引用将复制到obj
。因此,obj
与x
内存中的引用相同。改变Value
财产的性质obj
影响Value
财产的性质x
。
Javascript将始终按值传递函数参数。那只是语言的规范。您 可以x
在两个函数都本地的作用域中创建,而根本不传递变量。
以上是 JavaScript中的指针? 的全部内容, 来源链接: utcz.com/qa/412994.html