js预解析
作者:互联网
1. 我们js引擎运行js分为两步:预解析 代码执行
(1)预解析 js引擎会把js里面所有的var 含有function 提升到当前作用域的最前面
(2)代码执行 按照代码书写的顺序从上往下执行
2. 预解析分为变量预解析(变量提升)和函数预解析(函数提升)
(1)变量提升 就是把所有的变量声明提升带当前的作用域最前面 不提升赋值操作
(2)函数提升 就是把所有的函数声明提升带当前的作用域最前面
案例:
var a = 18; f1(); function f1(){ var b = 9; console.log(a); console.log(b); var a = '123'; } //相当于执行了以下代码 //1.先提升变量和函数 var a; function f1(){ // 3.函数内部 var b; var a; b = 9; console.log(a);//undifed console.log(b);//9 a = '123'; } //2.赋值 a = 18; f1();
标签:f1,console,js,提升,var,解析 来源: https://www.cnblogs.com/ysw-blog/p/16127608.html