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

JS-вопросник

Что выведет этот код?

f.call(null);

function f() {
  alert(this);
}

  1. null
  2. undefined
  3. другое
Решение
Решение

Ответ: 3

Если при вызове функции через call/apply первым аргументом является null/undefined, то при работе в режиме старого стандарта JavaScript браузер вызывает её в контексте window.

function f() {
  alert(this); // *!*выведет текстовое представление window*/!*
}
f.call(null);

А в режиме соответствия стандартам будет выведен именно null:

"use strict";

function g() {
  alert(this); // *!*выведет null во всех браузерах с поддержкой strict mode*/!*
}
g.call(null);

То есть, результат может быть разным, в зависимости от того, включён ли строгий режим.

#465
Наверх

Реклама

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

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

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

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

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