kro*_*oiz 3 javascript hoisting
在Javascript中,变量被提升到声明范围的顶部.
但是在下面的代码中似乎myvar没有提升变量.
<html>
<body>
</body>
</html>
<script type="text/javascript">
console.log(typeof myvar);
var myvar = "value";
console.log(typeof myvar);
</script>
Run Code Online (Sandbox Code Playgroud)
以上的输出是:
undefined
string
Run Code Online (Sandbox Code Playgroud)
我预计第一行会说"字符串",因为myvar它应该被提升到它之上.
为什么不这样呢?
Que*_*tin 10
变量声明被提升,分配不是.
通过var myvar 在函数中的任何位置使用,您可以创建一个本地范围的变量myvar,但是如果您使用它,= something那么赋值将按照正常的代码顺序进行.