这里写目录标题
我们的引擎运行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