只有函数参数是数组或对象类型时,传递的才是引用参数,其他情况都是值传递,例如
var pageSelected=0;
function test(count){
count=1;
}
test(pageSelected);
执行完后pageSelected仍然是0,如果将pageSelected变成对象:
var pageSelected={Count:0};
function test(counter){
counter.Count=1;
}
test(pageSelected);执行后,pageSelected.Count就是1,此外如果像下面这样:
var pageSelected={Count:0};
function test(counter){
counter=1;
}
test(pageSelected);执行完后函数外部的pageSelected是没有影响的
本文通过实例对比了在JavaScript中使用数组或对象作为函数参数时,引用传递与值传递的区别,解释了如何通过对象作为参数实现变量作用域的变化。
8446

被折叠的 条评论
为什么被折叠?



