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。因此,objx内存中的引用相同。改变Value财产的性质obj影响Value财产的性质x

Javascript将始终按值传递函数参数。那只是语言的规范。您 可以x在两个函数都本地的作用域中创建,而根本不传递变量。

以上是 JavaScript中的指针? 的全部内容, 来源链接: utcz.com/qa/412994.html

回到顶部