javascript - 何时在 JavaScript 中使用 self

标签 javascript

我注意到像 setTimeout() 这样的调用可以作为:

self.keyword()

或仅靠他们自己,例如关键字()

这两个调用有什么不同?

最佳答案

self 可以引用窗口对象,但这里通常不是这种情况。您通常会在 setTimeout() 上方看到:

var self = this;

它们保留对当前对象的引用,因此稍后当您调用 self.keyword() 时,您是在该对象上调用该方法 ,而不是任何其他。

例如,假设您希望每 2 秒旋转一次页面中的图像...您希望这 3 个计时器中的每一个都引用它们自己的方法。如果他们直接使用 this,它将(大部分时间)引用 window 而不是当前对象,而传递另一个变量以维护当前引用。

关于javascript - 何时在 JavaScript 中使用 self,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3309516/

相关文章:

javascript - Ctrl + 鼠标滚轮缩放在某些 WP 主题的 Chrome 和 Opera 中不起作用

javascript - 为什么 DOMParser 需要被实例化?

javascript - 通过在每个属性中找到的索引来排序 json 对象的最佳方法是什么?

javascript - 在 bootstrap-select 上显示/隐藏选项?

javascript - 无法解析从 PHP 返回的 JSON

javascript - 防止浏览器产生双击事件

javascript - 如何在单击按钮时动态获取卡片以及在卡片中动态单击选项?

javascript - jQuery 列表,样式 <li> 字段

javascript - 仅获取维基百科摘要

javascript - jQuery试图选择父元素的子元素