在数组上下文中调用
重要性:5
结果是什么?为什么?
let arr = ["a", "b"];
arr.push(function() {
alert( this );
});
arr[2](); // ?
调用 arr[2]() 在语法上是传统的 obj[method](),在 obj 的角色中我们有 arr,在 method 的角色中我们有 2。
因此我们调用了函数 arr[2] 作为对象方法。自然地,它接收 this 引用对象 arr 并输出数组。
let arr = ["a", "b"];
arr.push(function() {
alert( this );
})
arr[2](); // a,b,function(){...}
数组有 3 个值:最初它有两个,加上函数。