博客
关于我
解决setTimeout中的this指向问题
阅读量:796 次
发布时间:2023-03-24

本文共 392 字,大约阅读时间需要 1 分钟。

在 JavaScript 中,setIntervalsetTimeout 函数将 callback 给定 window 对象作为调用上下文,因此在 callback 中的 this 会指向 window 对象。为了确保 this 指向目标对象(如 LateBloomer 实例),可以使用以下方法:

  • 使用 bind 方法

    this 绑定到目标对象,确保在 callback 中正确使用。

    window.setTimeout(this.declare.bind(this), 2000);
  • 使用 ES6 箭头函数

    箭头函数的 this 绑定定义时所在的上下文,避免使用 bind

    window.setTimeout(() => this.declare(), 2000);
  • 确保选择的方法不会立即执行 declare(),否则延迟效果将失效。两种方法均可实现正确的绑定。

    转载地址:http://pgqfk.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现应用程序添加防火墙白名单 (附完整源码)
    查看>>
    Objective-C实现度到弧度算法(附完整源码)
    查看>>
    Objective-C实现建造者模式(附完整源码)
    查看>>
    Objective-C实现开方数(附完整源码)
    查看>>
    Objective-C实现异或加密(附完整源码)
    查看>>
    Objective-C实现异或密码算法(附完整源码)
    查看>>
    Objective-C实现异步编程(附完整源码)
    查看>>
    Objective-C实现弧度到度算法 (附完整源码)
    查看>>
    Objective-C实现循环移位(附完整源码)
    查看>>
    Objective-C实现循环链表(附完整源码)
    查看>>
    Objective-C实现循环队列算法(附完整源码)
    查看>>
    Objective-C实现循环队列链表算法(附完整源码)
    查看>>
    Objective-C实现快速排序(附完整源码)
    查看>>
    Objective-C实现快速排序(附完整源码)
    查看>>
    Objective-C实现快速排序算法(附完整源码)
    查看>>
    Objective-C实现恩尼格玛密码机算法(附完整源码)
    查看>>
    Objective-C实现感知哈希算法(附完整源码)
    查看>>
    Objective-C实现感知哈希算法(附完整源码)
    查看>>
    Objective-C实现截留雨水问题的动态编程方法算法(附完整源码)
    查看>>
    Objective-C实现截留雨水问题的蛮力方法的算法(附完整源码)
    查看>>