日期:2014-05-16  浏览次数:20388 次

由《程序员面试宝典》引申的JS面试题
  作者:zhanhailiang 日期:2012-11-21

请问下列代码输出是什么?

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

输出结果为:

undefined

原因很简单,因为JS在执行语句前做了变量声明提升,所以a变量初始化为undefined,当运行赋值语法a = a;时,就将undefined又重新赋给a了.