Druhá vazba
důležitost: 5
Můžeme změnit this další vazbou?
Jaký bude výstup?
function f() {
alert(this.jméno);
}
f = f.bind( {jméno: "Jan"} ).bind( {jméno: "Anna" } );
f();
Odpověď: Jan.
function f() {
alert(this.jméno);
}
f = f.bind( {jméno: "Jan"} ).bind( {jméno: "Petr"} );
f(); // Jan
Exotický objekt vázané funkce, vracený funkcí f.bind(...), si pamatuje kontext (a argumenty, jsou-li uvedeny) jen v době vytvoření.
Funkci nelze navázat znovu.