gpt4 book ai didi

javascript - 传递匿名函数时如何更改 setTimeout 中的 this/context?

转载 作者:行者123 更新时间:2023-11-28 19:29:31 25 4
gpt4 key购买 nike

我有一个元素的点击事件。我在延迟后执行代码。所以我在点击事件中使用settimeout。

我的html:

<button id="button">CLICK ME</button>

我的js:

jQuery('#button').on('click',function(){
setTimeout(function(){
console.log(this);
},50)
});

我想在 setTimeout 函数中更改 this
我知道的一种解决方案是创建一个命名函数,然后使用绑定(bind)。

   var test = function(){
console.log(this);
}
jQuery('#button').on('click', function () {
setTimeout(test.bind(this),10);

});

我不想每次都使用命名函数。
那么如何将 this 与匿名函数绑定(bind)?
这是codepen一起工作。

最佳答案

您不想使用命名函数。

jQuery('#button').on('click', function () {
setTimeout((function(){
console.log(this);
}).bind(this),10);
});

关于javascript - 传递匿名函数时如何更改 setTimeout 中的 this/context?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27150041/

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