js预编译环节 变量声明提升 函数声明整体提升
预编译四部曲
1.创建AO对象
2.找形参和变量声明,将变量和形参名作为AO属性名,值为undefined
3.将实参和形参统一
4.在函数体里面找函数声明,值赋予函数体
function fn(a){
console.log(a) //function a(){}
var a = 123;
console.log(a)//123
function a(){}
console.log(a)//123
var b = function(){}
console.log(b) //function(){}
}
fn(1)