tilbage til lektionen

Anden binding

vigtighed: 5

Kan vi ændre this ved yderligere binding?

Hvad vil output’et være?

function f() {
  alert(this.name);
}

f = f.bind( {name: "John"} ).bind( {name: "Ann" } );

f();

Svaret er: John.

function f() {
  alert(this.name);
}

f = f.bind( {name: "John"} ).bind( {name: "Pete"} );

f(); // John

Det eksotiske bundne objekt der returneres af f.bind(...) husker den kontekst (og eventuelle argumenter) den fik da den blev oprettet.

En sådan funktion kan ikke blive bundet igen.