返回課程

在陣列上下文中呼叫

重要性: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 個值:最初有兩個,加上函數。