
构造函数中使用 setinterval 遇到this指向问题
在构造函数中使用 setinterval 时,可能会遇到 this 指向的问题,导致 setinterval 只能执行一次。
问题详解
图片加载进度条的构造函数中有一个 circle 方法,由 settimeout 调用。由于 setinterval 中的 this 指向不明确,导致 circle 方法中的 this 指向了 window 对象,而不是构造函数实例。
解决方案
有两种解决办法:
1. 使用 bind 方法
_this.circle.bind(this); // _this 为构造函数实例
2. 使用箭头函数
setInterval(() => {
_this.circle(); // _this 为构造函数实例
});通过绑定 this 或使用箭头函数,可以确保 circle 方法中的 this 指向正确的构造函数实例,从而解决 setinterval 只能执行一次的问题。
以上就是构造函数中使用 setInterval 遇到 this 指向问题:如何解决 setInterval 只能执行一次的问题?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号