1.是什么是预解析
这是js的一种引擎运行的一种机制,js代码执行的步骤就是先 预解析 才会执行代码
2.预解析的运作
预解析:js引擎会吧var 和 function 提升到当前作用域最前面
有两种:一个是变量预解析,一个是函数预解析
变量预解析:就是把声明变量提升到当前作用域的最前面(注:这里是变量的声明)
函数预解析:把函数的声明提升到当前作用域最前面(注意:函数的声明)
3.案例
var num = 0
console.log(num); // 0
console.log(amount); // undefined
var amount = 100
fn() //打印这是fn函数
function fn() {
console.log('这是fn函数');
}
func() //func is not a function
var func = function () {
console.log('这是func函数');
}