码迷,mamicode.com
首页 > 编程语言 > 详细

Javascript"怪异"现象

时间:2016-04-03 15:51:45      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:

  下面给大家看个例子,这个毫无疑问打印出10

1         var a = 10;
2         function test() {
3             console.log(a);
4         }
5         test();

下面我改动一下

1         var a = 10;
2         function test(){
3             console.log(a);
4             var a = 9;
5             console.log(a);
6         }
7         test();

这个时候会打印出

技术分享

我个人觉得:在调用test方法执行到console.log(a)这句时会扫描下整个方法是否有定义a变量,如果没有则继续往上找,如果找到则停止,也就是第一个为什么能打印出10

                 如果在方法内有找到此变量,则不再往上寻找,此时a没有被赋值,则为undefined。

不知理解的有没有问题,希望大家指点

Javascript"怪异"现象

标签:

原文地址:http://www.cnblogs.com/zuqing/p/5349818.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!