为了账号安全,请及时绑定邮箱和手机立即绑定

变量提升到底是怎么回事?

变量提升到底是怎么回事?

繁花如伊 2019-05-21 11:27:15
这块代码第二个为什么弹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)
}
                            
查看完整回答
反对 回复 2019-05-21
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

函数内部变量有定义就找函数内部的变量,没定义就找全局的,函数内部的变量和全局的变量名相同,前者会覆盖后者
varx=1;
vary=2;
method(8)
alert(x+y)
functionmethod(y){
x+=2;//全局变量x=1+2
y+=3;//形参y=8+3
alert(x+y)
}
                            
查看完整回答
反对 回复 2019-05-21
  • 2 回答
  • 0 关注
  • 577 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信