Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET
Využij akce až 80% zdarma při nákupu e-learningu. Více informací .
C# week
Avatar
Michal Žůrek - misaz:12.12.2013 21:22

Ahoj, setkal jsem se teď s takovým podivným problém, přijde mi že JavaScript, dkyž zpracovává rychl e hromadu příkazů, tak nějak zapomeno co přesně je this a za this mi označí window i přesto že by to měl být objekt, nesetkal jste se s tím někdo jiný? Kde byla chybka, co mi může unikat?

Ještě doplním, že volám z this funkce další this funkci:

function Objekt {
    this.funkce1 = function () {

    }
    this.funkce2 = function () {
        this.funkce1();
    }
}
Editováno 12.12.2013 21:25
 
Odpovědět
12.12.2013 21:22
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Drahomír Hanák
Redaktor
Avatar
Odpovídá na Michal Žůrek - misaz
Drahomír Hanák:12.12.2013 22:03
var res = Objekt(); // this === windows
var res = new Objekt(); // this je vlastní objekt

Tohle není moc dobrý způsob. Např. ve V8 (Chrome) se to bude chovat tak, že při každém vytvoření objektu se na něj dynamicky přidají všechny ty funkce jako vlastnosti toho objektu. Mnohem lepší je definovat je na prototypu té dané funkce (Objekt), takže se vytvoří jen jednou a kompilátor bude jasně vědět, jaké metody tam má, ještě před vytvořením objektu.

 
Nahoru Odpovědět
12.12.2013 22:03
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Tato diskuze byla označena moderátorem jako nekonstruktivní a myslíme si, že nemá pro veřejnost příliš vysokou hodnotu. Členy můžete samozřejmě stále oslovit soukromě a to formou zpráv nebo chatu.

Zobrazeno 2 zpráv z 2.