【发布时间】:2013-05-23 13:43:38
【问题描述】:
我在我正在查看的新代码库中多次遇到这种情况,想知道它背后是否有任何适当的推理?
【问题讨论】:
-
获取代码,并尝试用
this替换使用的that,您会发现它可能不起作用。 -
谢谢大家。不知道为什么之前提出的问题没有出现在我最初搜索此问题的答案中:/
标签: javascript
我在我正在查看的新代码库中多次遇到这种情况,想知道它背后是否有任何适当的推理?
【问题讨论】:
this 替换使用的that,您会发现它可能不起作用。
标签: javascript
您可以使用var that = this; 来保持对当前this 对象的引用,而稍后this 将指向其他对象。
示例 (taken from here):
$('#element').click(function(){
// this is a reference to the element clicked on
var that = this;
$('.elements').each(function(){
// this is a reference to the current element in the loop
// that is still a reference to the element clicked on
});
});
【讨论】:
有时this 在 JavaScript 中的含义会根据作用域而变化。构造函数内部的this 与函数内部的this 不同。这是关于它的good article。
【讨论】:
如果您想在特定函数调用范围之外/内部访问“this”,其中“this”可能已更改。只是我能想到的一个例子。
【讨论】: