AO对象
函数执行的前一刻,会创建一个称为执行期上下文的内部对象(AO)。一个执行期上下文定义了一个函数执行时的环境,函数每次执行时对应的执行上下文都是独一无二的,所以多次调用一个函数会导致创建多个执行上下文,当函数执行完毕时,它所产生的执行上下文会被销毁。
代码示例:
function test(a,b) {
console.log(a); //function a () {}
console.log(b); // undefined
var b = 234;
console.log(b); // 234
a = 123;
console.log(a); //123
function a () {};
var a;
b = 234;
var b = function () {};
console.log(a); // 123
console.log(b); // function () {}
};
test(1);