请看如下代码:

console.log(a);
var a = 2;

输入结果会是什么?  请说出理由

 

 

 

 

 

 

可能会有三种答案:

1、2

2、抛出ReferenceError异常

3、undifined

 

 

对于编译器来说 var a = 2;  这一条语句其实是两条 :

var a;  和  a = 2;

在编译过程中会先执行所有的声明,包括 var a;

当程序执行到第二行时再执行的 a = 2; 

所以输入的结果应该是undifined;

版权声明:本文为aland-1415原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/aland-1415/p/9566602.html