gpt4 book ai didi

javascript - addEventListener 方法的第二个参数不能加括号

转载 作者:行者123 更新时间:2023-11-30 09:01:14 25 4
gpt4 key购买 nike

这让我很困惑

var show = function(){
console.log('wow');
};

var show2 = function(word){
console.log(word);
};

button_element.addEventListener('click', show2('wow'), false)

'wow'//它立即返回字符串但是点击了按钮,控制台没有任何输出,

但是

button_element.addEventListener('click', show. false)

没有像我们预期的那样返回字符串然后按预期在控制台中显示的按钮 wow

有人解释为什么它会这样吗?

最佳答案

addEventListener 将一个函数 作为它的第二个参数。一旦您调用一个函数,就意味着您传递的是该函数的返回值,而不是函数本身。如果您想像尝试做的那样在 addEventListener 中使用函数调用,您应该添加一个嵌套函数,在您调用它时返回该函数。

试试这个:

var show2 = function(word){ 
return function(){ console.log(word); }
};
button_element.addEventListener('click', show2('wow'), false);

在上面的示例中,对 addEventListener 的调用被发送到内部函数,该函数将在其中包含 word 变量的捕获值。

关于javascript - addEventListener 方法的第二个参数不能加括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9149715/

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