2013-02-14 51 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