今天在写js的时候发现一个问题:当我在一个函数中直接调用一个全局变量,并对他进行修改的时候,修改的结果在全局生效,代码:$(function(){ var change = 0;
alert(change);//0
function go (){
change+=10;
alert(change);
}
alert(change);//0
go(change);//10
alert(change);//10
})而当我把变量作为参数传递给函数时,实际上在函数外面却没有生效,代码:$(function(){ var change = 0;
alert(change); function go (change){
change+=10;
alert(change);
}
go(change);
alert(change);
})该怎么解释,我是小白。。。
1 回答
HUH函数
TA贡献1836条经验 获得超4个赞
javascript的函数传参的形式是值传递
和引用传递
。
引用类型的数据是引用传递,其他类型的数据都是值传递。
你这传进去的是个数字,那当然是值传递,传进去的参数和外面的参数不是同一个。
添加回答
举报
0/150
提交
取消