在陣列上下文中呼叫
重要性: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 個值:最初有兩個,加上函數。