流程
- 函数被调用时,为当前函数产生AO对象
- 查找形参和变量声明作为AO对象的属性名,值为undifiend
- 使用实参的值改变形参的值
- 查找函数声明作为AO对象的属性名,值为function
示例
function a(test) {
var i = 0;
function b() {
console.log(222)
}
b()
}
a(1)
结论
- 只要声明了局部函数,函数的优先级最高
- 没有声明局部函数,实参优先级最高
- 整体来说:局部函数 > 实参> 形参
示例
function a(b, c) {
console.log(b) // function
var b = 0;
console.log(b); // 0
function b() {
console.log(222)
}
}
a(1)
网友评论