js预解析
Posted danxibao_chen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js预解析相关的知识,希望对你有一定的参考价值。
我们的引擎运行js分为两步:预解析 代码执行
1.预解析:把js里面所有的var和function提升到当前作用域的最前面
1)变量提升:把所有的变量声明提升到当前作用域最前面 不提升赋值操作
2)函数提升:把所有的函数声明提升到当前作用域的最前面 不调用函数
2.代码执行:按照代码书写顺序从上往下执行
案例
f1();
console.log(c);
console.log(b);
console.log(a);
function f1() {
var a=b=c=9;//var a=9;b=9;c=9;
console.log(a);
console.log(b);
console.log(c);
}
//上述代码相当于以下代码
// function f1() {
// var a
// a=b=c=9;
// console.log(a);//9
// console.log(b);//9
// console.log(c);//9
// }
// f1();
// console.log(c);//9
// console.log(b);//9
// console.log(a);//a is not defined
以上是关于js预解析的主要内容,如果未能解决你的问题,请参考以下文章