你怎么能在javascript中做这样的事情?
在PHP中,您可以在参数前面的函数中放置&
以直接写回变量。如何在javascript中执行此类操作?
答案 0 :(得分:2)
在JavaScript中,值按值传递给函数。但是,对象通过引用传递。
传递值:
function myfunction(x)
{
// x is equal to 4
x = 5;
// x is now equal to 5
}
var x = 4;
alert(x); // x is equal to 4
myfunction(x);
alert(x); // x is still equal to 4
传递对象:
function myobject()
{
this.value = 5;
}
var o = new myobject();
alert(o.value); // o.value = 5
function objectchanger(fnc)
{
fnc.value = 6;
}
objectchanger(o);
alert(o.value); // o.value is now equal to 6
答案 1 :(得分:0)
如果将对象传递给函数,则始终将其视为传递对象的引用。 要对原始值产生类似的效果,可以在像
之前将它们包装在对象中 var intVal = { val: 0 };
这样你可以将它传递给一个函数并仍然修改实际的变量。