变量提升
函数及变量的声明都将被提升到函数的最顶部。
变量可以在使用后声明,也就是变量可以先使用再声明。
<script>
console.log(a);//输出undefined
var a=0;
</script>
在上面的代码中输出的是underfined
<script>
a=6;
console.log(a);//输出6
var a;
</script>
上面代码输出的是6;
就这两个代码来说,我们声明变量的时候都是在输出语句后面,但是一个可以得到值,一个不可以得到值,这是因为程序会把我们声明的变量提升.第一个代码可以写成;
<script>
var a
console.log(a);
a=0;
</script>
将这个和第二个代码我们会发现区别,给a
赋值的语句也就是变量初始化没有提升.
所以变量提升只会提升变量的声明,不会提升初始化语句.