JavaScript函数——预编译

四部曲

  1. 创建AO对象
  2. 找形参和变量声明,将变量和形参名作为AO属性名,值为undefined。
  3. 将实参值和形参值统一
  4. 在函数体内找函数声明,值赋予函数体。

权重按顺序依次增加。以下例子即可体现上述规则

function fn(a){
    console.log(a);
    
    var a = 123;
    
    console.log(a);
    
    function a(){}
    
    console.log(a);
    
    var b = function(){}
    
    console.log(b);
}
fn(1);
//f a(){}
//123
//123
//f (){}

猜你喜欢

转载自www.cnblogs.com/y-dt/p/9787460.html