Javascript"怪异"现象
Posted ZuQing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript"怪异"现象相关的知识,希望对你有一定的参考价值。
下面给大家看个例子,这个毫无疑问打印出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"怪异"现象的主要内容,如果未能解决你的问题,请参考以下文章