这块代码第二个为什么弹5啊?varx=1;vary=2;method(8)alert(x+y)functionmethod(y){x+=2;y+=3;alert(x+y)}
2 回答
慕标5832272
TA贡献1966条经验 获得超4个赞
你这个问题要理解的不是变量提升,而是变量的作用域,你的代码和下面的代码是一样的,别看形参是y,实际上这是两个不同的值varx=1;vary=2;method(8)alert(x+y)functionmethod(a){x+=2;a+=3;alert(x+a)}
MMMHUHU
TA贡献1834条经验 获得超8个赞
函数内部变量有定义就找函数内部的变量,没定义就找全局的,函数内部的变量和全局的变量名相同,前者会覆盖后者varx=1;vary=2;method(8)alert(x+y)functionmethod(y){x+=2;//全局变量x=1+2y+=3;//形参y=8+3alert(x+y)}
添加回答
举报
0/150
提交
取消