//预编译
//函数创建的阶段就是预编译的阶段
// ----- 预编译中做了生么--------
//在函数作用域创建时会生成一个js的变量对象 也就是Ao对象 供js引擎去访问
//1,创建ao对象
//2,找到形参和变量声明 作为ao对象的属性名 初始值为undefind
//3,实参和形参相统一
//4,找函数声明 如果函数命名与形参命名一致则会覆盖形参
function fn( a ,c){
console.log(a) // a() {}
var a = 123
console.log(a) //123
console.log(c) //c () {}
function a(){
if(false){
var d=678
}
console.log(d) //undefined
console.log(b) //undefined
var b=function (){}
console.log(b) //b (){}
function c(){}
console.log(c) //c(){}
}
}
fn(1,2)
//预编译
//函数创建的阶段就是预编译的阶段
// ----- 预编译中做了生么--------
//在函数作用域创建时会生成一个js的变量对象 也就是Ao对象 供js引擎去访问
//1,创建ao对象
//2,找到形参和变量声明 作为ao对象的属性名 初始值为undefind
//3,实参和形参相统一
//4,找函数声明 如果函数命名与形参命名一致则会覆盖形参
// ao{
// a:undefined 1 function a
// c:undefined 2 function c
// b:undefined
// d:undefined
// }