Загадка указателя JavaScript "this" во вложенных функциях
Во фрагменте кода JavaScript вы столкнулись с неожиданным поведением относительно "this" " указатель внутри вложенной функции. Несмотря на определение вложенной функции внутри метода объекта, указатель «this» внутри вложенной функции указывает на глобальный объект «окно».
Поведение указателя «this» определяется методом вызова функции в JavaScript. Существует три основных метода:
Прямой вызов: someThing.someFunction(arg1, arg2, argN)
Вызов функции с помощью call(): someFunction.call(someThing, arg1, arg2, argN)
Вызов функции с помощью apply() : someFunction.apply(someThing, [arg1, arg2, argN])
В приведенном вами примере вложенная функция вызывается без каких-либо явных методов вызова функции. В результате указатель «this» по умолчанию соответствует глобальному объекту, которым обычно является объект «окно» в среде браузера.
Чтобы явно указать поведение указателя «this», вы можете использовать следующие модификации. :
Используя любой из этих методов , вы можете контролировать поведение указателя this во вложенных функциях и гарантировать, что он ссылается на нужный объект.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3