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