#javascript
#javascript
Вопрос:
Почему ‘this’ в объекте окна отображения функции, где в качестве ‘this’ в аргументе отображается объект из функции, был вызван?
function show(x){
alert(x)//displays [object HTMLDivElement]
alert(this)//displays [object Window]
}
<div onClick="show(this)">123</div>
Комментарии:
1. Прочитайте много вопросов и найдите в Интернете «javascript this». -1 поскольку вопрос не показывает усилий по исследованию (многие сайты с радостью объяснят это вам, если вы их спросите).
2. @ChrisMorgan сделает это в следующий раз. один вопрос, однако, если я не передал это в качестве аргумента в функции show , есть ли способ получить объект HTMLDivElement, отображаемый в функции show, без передачи идентификатора?
Ответ №1:
Поскольку функция определена в глобальной области видимости, поэтому «this» будет ссылаться на объект window.
Комментарии:
1. Спасибо за ваш ответ, если я не передал это в качестве аргумента в функции show , есть ли способ получить объект HTMLDivElement, отображаемый в функции show, без передачи идентификатора
2. Это немного больше, чем просто это.
obj = { example: function() { alert(this); } }; f = obj.example; f();
также следует предупредить ‘[окно объекта]’. Правила дляthis
сначала немного сбивают с толку.