当js函数的参数是一个基本类型的时候,函数内对该参数的任何操作都不影响函数外传递的该值,如:
var a = 1;
function changeA(a){
a = 2;
}
changeA(a);
console.log("a=" + a); //a=1
当参数为引用对象的时候,函数内对该对象的修改有两种情况,如:
var a = {b : 1};
function changeA(a){//对值进行操作
a.b = 2;
}
changeA(a);
console.log("a=" + a);//a={b:2};
var a = {b : 1};
function changeA(a){//对对象进行操作
a = {b : 2};
}
changeA(a);
console.log("a=" + a);//a={b:1};