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

一道js面试题,觉得和变量提升有关

一道js面试题,觉得和变量提升有关

Smart猫小萌 2019-04-10 20:48:59
(function(){a=5;alert(window.a);vara=10;alert(a);})();这个先打印出undefined然后是10,为什么呀?
查看完整描述

2 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

第一个a=5没用var,它并没有创建变量a,而是向上级作用域找变量a,自然是找不到,所以会创建a,但创建的a是本域的,不是window域(顶级域)的,所以window.a还是undefined.
(function(){
a=5;
alert(a);//==>5
alert(window.a);//==>undefined
vara=10;
alert(a);//==>10
})();
                            
查看完整回答
反对 回复 2019-04-10
  • 2 回答
  • 0 关注
  • 363 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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