gpt4 book ai didi

javascript - 将 console.log 作为事件的监听器传递

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:34:59 48 4
gpt4 key购买 nike

请参阅以下 fiddle :http://jsfiddle.net/calvintennant/jBh3A/

我想使用 console.log 作为事件的监听器:

badButton.addEventListener('click', console.log);

如 fiddle 所示,这将导致错误。

我了解如何规避错误(通过将 console.log 包装在另一个函数中)。我想知道的是为什么会发生错误。是否有一些安全功能阻止以这种方式使用 native 功能?

最佳答案

那是因为在 log 函数中,this 必须是控制台(它依赖于实现)。如果你直接将它作为事件处理程序传递,this 将是你可以通过尝试看到的小部件

goodButton.addEventListener('click', function(e) { console.log(this);});

除了将其包装在您创建的函数中之外,另一种解决方案是传递 console.log.bind(console)(但如果您想与 IE8 兼容则不要这样做):

goodButton.addEventListener('click', console.log.bind(console));

关于javascript - 将 console.log 作为事件的监听器传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16569184/

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