torna alle lezioni

Secondo bind

importanza: 5

Possiamo cambiare this con una associazione addizionale?

Quale sarà l’output?

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

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

f();

Risposta: John.

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

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

f(); // John

L’ exotic object bound function restituito da f.bind(...) memorizza il contesto (e gli argomenti, se forniti) solo in fase di creazione.

Una funzione non può essere riassegnata.