Каким будет результат? Почему?
arr = ["a", "b"];
arr.push( function() { alert(this); } )
arr[2](); // ?
Решение
Решение
Вызов arr[2]() — это обращение к методу объекта obj[method](), в роли obj выступает arr, а в роли метода: 2.
Поэтому, как это бывает при вызове функции как метода, функция arr[2] получит this = arr и выведет массив:
arr = ["a", "b"];
arr.push( function() { alert(this); } )
arr[2](); // "a","b",function
#270