声明var = this的原因是什么?在JavaScript中?

时间:2013-05-28 14:24:26

标签: javascript

我在一个新的代码库中遇到过这种情况,我正在看,并且想知道它背后是否有任何正确的推理?

3 个答案:

答案 0 :(得分:2)

您可以使用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
    });
});

答案 1 :(得分:1)

有时,JavaScript中this的含义会根据范围发生变化。构造函数内部的this表示函数内部与this不同的东西。这是关于它的good article

答案 2 :(得分:0)

如果要访问特定函数调用范围之外/内部的“this”,那么“this”可能已更改。只是我能想到的一个例子。