gpt4 book ai didi

javascript - JavaScript 中的指针?

转载 作者:IT王子 更新时间:2023-10-29 02:48:29 26 4
gpt4 key购买 nike

我们能否传递一个不可变变量的引用作为函数中的参数?

例子:

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 指的是内存中的同一事物。更改 objValue 属性会影响 xValue 属性。

Javascript 总是按值传递函数参数。这只是语言的规范。您可以在两个函数的局部范围内创建x,并且根本不传递该变量。

关于javascript - JavaScript 中的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10231868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com