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

重复声明同一个变量

重复声明同一个变量

慕妹3146593 2019-02-16 19:15:32
下面有两个小栗子var a = 1;var a = 2;console.log(a); // 2var a = 1;var a;console.log(a); //1上面第一个栗子很好理解,再次声明同一个变量会覆盖掉之前的变量,但是第二个栗子为什么不是输出undefined呢?我有一个理解方式不知道对不对,可以从变量提升的角度去理解,上面的代码经过变量提升就可以改写成下面这样,因为变量提升只提升声明不提升赋值var a;var a;a = 1;console.log(a);刚刚去查了资料,参考《JavaScript高级程序设计》第7.3章节,原话如下JavaScript从来不会告诉你是否多次声明了同一个变量;遇到这种情况,它只会对后续的声明视而不见(不过,它会执行后续声明中的变量初始化)。
查看完整描述

2 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

你的理解是对的,就是变量提升了


查看完整回答
反对 回复 2019-02-20
?
慕容3067478

TA贡献1773条经验 获得超3个赞

忍不住立马去查了资料,参考《JavaScript高级程序设计》第7.3章节,原话如下

JavaScript从来不会告诉你是否多次声明了同一个变量;遇到这种情况,它只会对后续的声明视而不见(不过,它会执行后续声明中的变量初始化)。

因此只是JavaScript的特性,和变量提升无关。


查看完整回答
反对 回复 2019-02-20
  • 2 回答
  • 0 关注
  • 816 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号