js变量提升

1 var t = 10;
2 (function(){
3   alert(t);
4   var t = 100;
5 })() 

会出现alert出来的是undefined,原因是因为在函数域里定义一个变量时,变量的声明会提升至第一句,赋值则不会变。所以上述语句其实是这样执行的

1 var t = 10;
2 (function(){
3   var t;
4   alert(t);
5   v = 100;
6 })()

 

posted @ 2016-07-09 00:32  成章同学  阅读(56)  评论(0)    收藏  举报