2013-02-14 130 views
8

我有几个广泛使用关键字“that”的javascript。 我看到很多关于javascript关键字“this”的帖子。在javascript中使用“that”关键字

我想了解这个关键字在javascript上下文中的含义,它的可见性/范围。

喜欢的东西

that.someFunctionaName(someParameter) 

是什么意思?

我知道关键字“this”总是指向当前对象的所有者。

+0

不是一个关键字,但一个简单的变量名 – feeela 2013-02-14 09:41:27

+1

'that'不是一个关键字,这是一个简单的变量。对于'this',请参阅https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/这个 – Bergi 2013-02-14 09:41:46

+4

请在下次提问之前使用搜索功能。 – Cerbrus 2013-02-14 09:42:31

回答

16

that不是JavaScript中的关键字。我怀疑你有的代码是使用类中的某些东西来定义它自己的一个实例。例如:

function myClass() 
{ 
    var that = this; 
} 

通过这样做,您可以确保您引用的是对象,而不是其他元素。例如,请考虑下面的示例:

function myClass() 
{ 
    var that = this; 
    $('.myele').click(function() { 

     // 'this' refers to the element that was clicked. 
     // 'that' still refers to the myClass() object. 
    }); 
} 
+3

另一个相当常用的变量是'self',遵循相同的逻辑。 – 2013-02-14 09:43:45

+0

@BenM感谢您的信息。是的,它有点合理,我会做更多的阅读来理解使用这种参考的方面。你是对的,我在你的建议之后在我的js代码库中得到了“that = this”。现在我更清楚了。 – Ayusman 2013-02-14 23:20:26

+0

hi @BenM my'that'看起来像这样'var that = {};'它和'var that = this'一样;' – 2014-10-01 02:26:13