Javascript 为什么变量初始化为未定义的eventhough块未执行?
可能重复:Javascript 为什么变量初始化为未定义的eventhough块未执行?,javascript,Javascript,可能重复: 变量“you”初始化为undefined,打印时显示undefined而不是reference error。为什么?在Javascript中,所有变量都被“提升”到它们声明的函数/作用域的顶部。也就是说,您的代码在编译器看来确实是这样的: var flag = false; var you; if (flag === true) { you = "great" } var flag = false; var you; if (flag === true) { yo
变量“you”初始化为undefined,打印时显示undefined而不是reference error。为什么?在Javascript中,所有变量都被“提升”到它们声明的函数/作用域的顶部。也就是说,您的代码在编译器看来确实是这样的:
var flag = false;
var you;
if (flag === true)
{
you = "great"
}
var flag = false;
var you;
if (flag === true)
{
you = "great"
}