JS变量提升

1 var str = 'a';
2 (function() {
3     alert(str);
4     var str = 'b'
5 })() // undefined

函数里定义一个和外部变量一样名称的变量时,变量的声明会提升至第一句,赋值则不会变。所以上述语句其实是这样执行的

1 var str = 'a';
2 (function(){
3     var str;
4     alert(str);
5     str = 'b'
6 })() // undefined

 

posted @ 2016-04-18 11:26  AnisCode  阅读(111)  评论(0)    收藏  举报