2013-02-14 28 views
8

Ho pochi javascript che ha utilizzato la parola chiave "that" estesamente. Vedo molti post che parlano della parola chiave javascript "this".uso della parola chiave "that" in javascript

Volevo capire il significato di questa parola chiave in contesto javascript e visibilità/ambito.

Qualcosa di simile

that.someFunctionaName(someParameter) 

Che cosa significa?

Capisco che la parola chiave "questo" punti sempre al proprietario dell'oggetto corrente.

+0

che non è una parola chiave, ma un semplice nome di variabile – feeela

+1

'that' non è una parola chiave, è una variabile semplice. Per 'questo', vedere https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/this – Bergi

+4

Si prega di utilizzare la funzione di ricerca prima di fare una domanda, la prossima volta. – Cerbrus

risposta

16

that non è una parola chiave in JavaScript. Sospetto che il codice che hai sta usando qualcosa nella classe per definire un'istanza di se stesso. Ad esempio:

In questo modo, è possibile assicurarsi di fare riferimento all'oggetto e non a un altro elemento. Per esempio, si consideri il seguente esempio:

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

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

Un'altra variabile comunemente usata per questo è 'self', seguendo la stessa logica. –

+0

@ BenM grazie per le informazioni. Sì, in qualche modo ha senso, farò ancora un po 'di lettura per capire gli aspetti dell'utilizzo di tale riferimento. E hai ragione, ho ottenuto il "that = this" nel mio codice js dopo che lo hai suggerito. E 'più chiaro per me ora. – Ayusman

+0

hi @BenM my 'that' assomiglia a questo' var that = {}; 'è uguale a' var that = this; ' –