这个结果为什么是undifined呢?

var xx = 99;
function a(){
    alert(xx);
    var xx = 100;
}
a();
是function和var的优先级问题?还是闭包其他什么的?
阅读 1.5k
2 个回答

变量声明提升了解一下。

函数声明和变量声明都会提前,函数声明在变量声明之前,所以代码相当于:

function a() {
    var xx;
    alert(xx);
    xx = 100;
}
var xx;
xx = 99;
a();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题