(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);//==>5alert(window.a);//==>undefinedvara=10;alert(a);//==>10})();
添加回答
举报
0/150
提交
取消