Мастер-классы по Javascript Екатеринбург Ростов-на-Дону Москва Узнать больше...
Содержание (скрыть) Содержание (показать)

Вызов в контексте массива

Каким будет результат? Почему?

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
Наверх

Реклама

Нашли опечатку?

Нашли опечатку на сайте? Что-то кажется странным?
Выделите соответствующий текст и нажмите Ctrl+Enter!

Последние Комментарии

Помоги другим!

Помоги другим узнать о хорошей статье!