Javascript '的奇怪行为;这';内部';车身';标签
我知道使用Javascript '的奇怪行为;这';内部';车身';标签,javascript,Javascript,我知道使用内联javascript确实是一种糟糕的做法 但就为了实验,我试着做一些事情,比如: <body onclick="this.style.background='#ff0000';"> Hello </body> 很好 有谁能帮助我理解,为什么会发生这种情况 这是因为body onload内部转换为window.onload?(以便window.style变得未定义?) 还是别的什么 感谢任何帮助和建议。当事件由用户启动时,如用户单击后触发的oncl
内联javascript
确实是一种糟糕的做法
但就为了实验,我试着做一些事情,比如:
<body onclick="this.style.background='#ff0000';">
Hello
</body>
很好
有谁能帮助我理解,为什么会发生这种情况
这是因为body onload
内部转换为window.onload
?(以便window.style
变得未定义?)
还是别的什么
感谢任何帮助和建议。当事件由用户启动时,如用户单击后触发的
onclick
,这意味着用户正在直接交互,此
将引用绑定事件的元素,在本例中为主体
在
onload
的情况下,它不是用户启动的事件,因此此
引用窗口
对象。如您所述,当您尝试onload
时,此
将引用窗口对象
<body onload="this.style.background='#ff0000';">
Hello
</body>
你好
您可以使用以下方法进行尝试:
<body onload="console.log(this instanceof Window)">
是的,这
指的是窗口
“是因为body onload在内部转换为Window.onload吗?”。正是。谢谢你花时间回答+1.@VedantTerkar很高兴能帮助你:)谢谢你花时间回答+1.
<body onload="this.style.background='#ff0000';">
Hello
</body>
<body onload="console.log(this instanceof Window)">