四部曲
- 创建AO对象
- 找形参和变量声明,将变量和形参名作为AO属性名,值为undefined。
- 将实参值和形参值统一
- 在函数体内找函数声明,值赋予函数体。
权重按顺序依次增加。以下例子即可体现上述规则
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 (){}