由于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在两个函数都本地的作用域中创建,而根本不传递变量。



