在数组上下文中调用
重要性: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 个值:最初它有两个,加上函数。