今天讲解一个js预解析的案例,最主要的就是var a=b=c=9;这一句话,
var a = b = c = 9; 相当于 var a=9,b=9,c=9; b和c直接赋值 没有var声明当全局变量看
变量提升(变量预解析): 变量的声明会被提升到当前作用域的最上面,变量的赋值不会提升。
函数提升: 函数的声明会被提升到当前作用域的最上面,但是不会调用函数
<script> f1(); console.log(c); console.log(b); console.log(a); function f1() { var a = b = c = 9; console.log(a); console.log(b); console.log(c); } </script>
从代码结果可以看出,由于var已经在块级变量里面声明了,所以说var a;是一个块级变量,所以外面打印a打印不出来,获取不了。
谢谢大家观看,我是小辉,请多多指教