javaScript - 预解析

代码实例:

console.log(data1) //undefined
var data1=12;

fn1(); //execute function fn1
function fn1(){
  console.log("execute function fn1")
}

fn2(); //fn2 is not a function
var fn2=function () {
  console.log("execute function fn2")
}

1.js引擎运行js分为两步:预解析 代码执行

(1) 预解析 js引擎会把里面所有的var还有function提升到当前作用域的最前面 不提升赋值操作与不调用函数

(2) 代码执行 按照代码书写的顺序从上往下执行

 

2.预解析分为变量预解析(变量提升)和函数预解析(函数提升)

(1) 变量提升就是吧所有的变量声明提升到当前的作用域的最前面 不提升赋值操作

(2) 函数提升 就是把所有的函数声明提升到当前的作用域的最前面 不调用函数

posted on 2023-02-06 21:28  Mikasa-Ackerman  阅读(12)  评论(0编辑  收藏  举报

导航