Javascript &引用;这";元素中的关键字用法
在这段代码中,“this”关键字用于function calls参数中的div元素,所以我的问题是“this”关键字用于对象或全局对象,比如窗口,那么为什么我们在这里使用“this”关键字,在这里使用它的目的是什么,请解释一下Javascript &引用;这";元素中的关键字用法,javascript,this,keyword,Javascript,This,Keyword,在这段代码中,“this”关键字用于function calls参数中的div元素,所以我的问题是“this”关键字用于对象或全局对象,比如窗口,那么为什么我们在这里使用“this”关键字,在这里使用它的目的是什么,请解释一下 1. 2. 3. 功能突出显示(elem){ 元素风格背景色='黄色' 警报(元素类名称) 元素样式背景颜色=“” } 在您的代码段中,this的目的如下:this是对当前对象(DOM元素)的引用,在您的示例中,this指的是被单击的div 在您的示例中,它将back
1.
2.
3.
功能突出显示(elem){
元素风格背景色='黄色'
警报(元素类名称)
元素样式背景颜色=“”
}
在您的代码段中,this
的目的如下:this
是对当前对象(DOM元素)的引用,在您的示例中,this
指的是被单击的div
在您的示例中,它将backgroundColor
应用于所有事件,因为在游戏中事件冒泡和捕获。要停止此操作,请使用stopPropagation
方法并将事件
传递给函数
以下是解决方案:
功能突出显示(元素、事件){
event.stopPropagation();
元素风格背景色='red';
}
1.
2.
3.
此处此
引用元素,因为它是一个对象
当您在对象的范围内(在构造函数内或在原型中)时,此
保存您当前正在更改的实例
元素是javascript中的对象。它们有一个onclick属性,您可以将其更改为您喜欢的任何函数。上述代码可转换为以下内容:
element.onclick = function() {
highlight(this);
};
显然,您可以向元素添加highlight函数,如下所示:
HTMLDivElement.prototype.highlight = function() {
// Stuff
};
然后您可以将this.highlight()
放在onclick中,但这样做不会太干净
旁注:如果您不在对象的范围内,那么这指的是窗口对象。这是因为您在全局范围中放置的内容将在该对象中可用。这就是为什么只需调用它们或将窗口放在它们前面,就可以访问所有内容。
onclick中的“This”关键字只是对onclick所在的DOM元素的引用。
例如,类为“d1”的第一个div中的“this”是对该div的引用-类为“d1”的div。在类为“d2”的第二个div中,“this”是对该div的引用-类为“d2”的div等等…因此您可以获得对所单击内容的引用?可能是重复的:我建议您也阅读,如果您想了解有关该
的更多信息,请尝试插入console.log(elem)代码>内部突出显示
功能。可能重复