Oszály változók hivatkozása belső metódusokból
Sziasztok!
Hogyan lehet egy belső metódusból meghivatkozni egy osztály változót JavaScript-ben?
Pl:Köszi a válaszokat!
sirkalmi
■ Hogyan lehet egy belső metódusból meghivatkozni egy osztály változót JavaScript-ben?
Pl:
TestClass = function() {
this.ize = 'bigyo';
this.valami = new Array();
this.metodus = function() {
dojo.forEach(this.valami, function(item) {
//itt pl hogyan tudok hivatkozni az ize nevű osztály változóra?
})
}
}
sirkalmi
Változó
this
a függvényen belül, mint kívül.Ez a JavaScript a
Closure / context
this
minden egyes futás esetén más lehet. Az, hogy mi legyen athis
a függvénycall
illetveapply
metódusával módosíthatod.dojo.forEach
függvény megváltoztatja athis
jelentését a meghívott függvényen belül, ezért ha a függvényen kívülithis
-re szeretnél hivatkozni, akkor azt el kell tárolni egy változóban.Azt hiszem ezzel a válasszal
Korrekció
Azt hiszem rájöttem. A var
A var that változót nem célszerűbb a constructorban inicializálni?
Meg azt nem értem, hogy ha a var that = this; ennyire kézenfekvő akkor miért nem szolgáltatja a nyelv automatikusan?
Változók
Talán legjobb ha olvasol pár cikket a változó láthatóságról.
Function.prototype.bind
Hmm, ki fogom próbálni ezt a
Nem értem a kérdést
this
az lesz, amit megadsz adoStuff.bind
hívásnál.Írok egy egyszerű példát, ami hasonlít arra, amit a
bind
csinál, csak nem tud annyit, ezáltal sokkal egyszerűbb. jQuery-ben hasonlót a $.proxy csinál:Csak egy kósza tipp, mert nem
TestClass = function() {