ECMAScript中所有的函数的参数都是按值传递的
看下面一段代码
function setName(obj){
obj.name='Nicholas';
obj=new Object();
obj.name="Greg";
}
var person=new Object();
setName(person);
alert(person.name); 输出的结果是“Nicholas”而非“Greg”,在函数内部修改参数的值,原始的引用仍然保持未变,当在函数内部重写obj时,这个变量的引用是局部的,当该函数执行完后这个局部变量也就被销毁了。——摘自javascript高级编程第三版
有人可能没听过ECMAScript这个东西,参考解释,顺带也解释了下javascript和jsscript。
浙公网安备 33010602011771号