JavaScript文档状态:
JavaScript 中变量的另一个不同寻常之处在于,您可以引用稍后声明的变量,而不会出现异常。这个概念被称为提升;JavaScript 中的变量在某种意义上被“提升”或提升到函数或语句的顶部。但是,尚未初始化的变量将返回未定义的值。
现在在我的(实际上它是来自 W3Schools 关于同一主题的代码片段)代码中,我没有使用函数:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript index</title>
</head>
<body>
<p id="demo"></p>
<script>
x = 5; // Assign 5 to x
elem = document.getElementById( "demo" ); // Find an element
elem.innerHTML = x; // Display x in the element
var x; // Declare x
alert( x );
</script>
</body>
</html>
结果alert()
是 5。为什么不是undefined
。据我了解,这条线var x
应该被提升到顶部并且alert()
应该显示undefined
.
我从: http ://code.tutsplus.com/tutorials/javascript-hoisting-explained--net-15092阅读了更多关于此的内容
我没有得到什么?