Вызов `arr[2]()` -- это обращение к методу объекта `obj[method]()`, в роли `obj` выступает `arr`, а в роли метода: `2`. Поэтому, как это бывает при вызове функции как метода, функция `arr[2]` получит `this = arr` и выведет массив: ```js //+ run var arr = ["a", "b"]; arr.push(function() { alert( this ); }) arr[2](); // "a","b",function ```