定时器中this为什么会指向window

发布于 2022-09-04 04:56:47 字数 27 浏览 12 评论 0

定时器中为什么this会指向window

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

黯然#的苍凉 2022-09-11 04:56:47

因为定时器是window的方法,相当于window.setInterval,你说指向谁?

奶茶白久 2022-09-11 04:56:47

虽然 this 指向 window

但是不带代表定时器不能用其它变量,将this赋值一下就Ok咯

(function(){

    $('#a').on('click', function(){
        var t = this;
        var a = 123;
        setTimeout(function(){
            console.log(t);
            console.log(a++);
        ), 500);
    });
})();

善用匿名函数来控制变量的作用域是一个好习惯

梦境 2022-09-11 04:56:47

定时器还可以这样写window.setTimeout

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文