web前端技术博客
您当前的位置:web前端 > JavaScript知识点

JavaScript 的变量提升

作者:只会切图的前端 发布时间:2021-01-03 15:29:56 浏览量:17

考虑如下输出结果:
例1:

b=2;
var b;
console.log(b);

例2:
console.log(c);
var c=2;

由于变量声明会被提升,赋值操作或其他运行逻辑留在原处;
例1等同于:var b; b=2;console.log(b);//输出2
例2等同于:var c;console.log(c); c=2; //输出undefined


例3:
fun1();
function fun1(){ console.log("ok"); };

例4:
fun2();
var fun2=function(){ console.log("ok"); };

由于函数声明会被提升,函数表达式却不会;
例3正常执行输出 ok;
例4 fun2被提升,但并没有赋值,fun2() 对undefined值进行函数调用导致TypeError异常。

变量声明提升





 




 

发表评论
验证码:
联系我
粤ICP备17092958号