gpt4 book ai didi

javascript - 此示例中 "this"的上下文是什么?

转载 作者:行者123 更新时间:2023-12-03 02:45:03 27 4
gpt4 key购买 nike

为什么这两行为 this 创建不同的值?

<div>
<a href="#" id= "li2" onclick="alert(this)"> a link </a>
</div>
<p id= "p2" onclick="alert(this)"> a paragraph </p>

第一个使用文件的 URI 发出警报,第二个使用“HTML 段落元素”发出警报。换句话说,第二个上下文是 DOM 元素,但第一个上下文是主上下文。

我对此做了很多研究,其中一些有点超出了我的理解范围,所以如果有人知道答案,你能帮我简化一下吗?

最佳答案

在内联 JavaScript 事件中,this是触发事件的元素。这些都是 onclick事件,所以this是您单击的元素。

当您使用alert()时,它将其参数转换为字符串。当您转换<a>时element 对象转换为字符串,你得到它的 href值(value)。当您转换<p>时元素到字符串,您只需得到 [object HTMLParagraphElement]因为它没有自定义 toString .

相关文档:https://developer.mozilla.org/en-US/docs/Web/API/URLUtils/toString

关于javascript - 此示例中 "this"的上下文是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32977014/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com