Значение this
в JavaScript зависит от способа вызова функции. Основные сценарии:
Глобальный контекст: Вне функций в строгом режиме ('use strict'
) this
равен undefined
. Без строгого режима — глобальному объекту (window
в браузере, global
в Node.js).
Вызов метода объекта: this
указывает на объект, которому принадлежит вызываемый метод.
javascript
Обычный вызов функции: В строгом режиме this
равен undefined
. Без строгого режима — глобальному объекту.
javascript
Конструктор (new
): При использовании оператора new
с функцией-конструктором, this
внутри функции ссылается на новый, создаваемый объект.
javascript
Явное связывание (call
, apply
, bind
): Методы call
, apply
и bind
позволяют явно установить значение this
для функции.
call(thisArg, arg1, arg2, ...)
: Вызывает функцию, устанавливая this
на thisArg
и передавая аргументы по отдельности.apply(thisArg, [argsArray])
: Вызывает функциЗначение this
в JavaScript зависит от способа вызова функции. Основные сценарии:
Глобальный контекст: Вне функций в строгом режиме ('use strict'
) this
равен undefined
. Без строгого режима — глобальному объекту (window
в браузере, global
в Node.js).
Вызов метода объекта: this
указывает на объект, которому принадлежит вызываемый метод.
javascript
Обычный вызов функции: В строгом режиме this
равен undefined
. Без строгого режима — глобальному объекту.
javascript
Конструктор (new
): При использовании оператора new
с функцией-конструктором, this
внутри функции ссылается на новый, создаваемый объект.
javascript
Явное связывание (call
, apply
, bind
): Методы call
, apply
и bind
позволяют явно установить значение this
для функции.
call(thisArg, arg1, arg2, ...)
: Вызывает функцию, устанавливая this
на thisArg
и передавая аргументы по отдельности.apply(thisArg, [argsArray])
: Вызывает функциRegister or sign in to get access to full answers for all questions from the question bank.