var flag = false;
if(flag === true)
{
var you = "great";
}
变量“you”初始化为undefined,它显示undefined而不是在打印时显示引用错误。为什么呢?
答案 0 :(得分:7)
在Javascript中,所有变量都被“提升”到它们声明的函数/作用域的顶部。也就是说,你的代码对于编译器看起来像这样:
var flag = false;
var you;
if (flag === true)
{
you = "great"
}