Üst üste bağlama
önem: 5
Fazladan bir defa daha bağlama işlemi yaparak this
’i değiştirebilir miyiz?
Aşağıdaki kodun çıktısı nedir?
function f() {
alert(this.name);
}
f = f.bind( {name: "John"} ).bind( {name: "Ann" } );
f();
Cevap: John.
function f() {
alert(this.name);
}
f = f.bind( {name: "John"} ).bind( {name: "Pete"} );
f(); // John
f.bind(...)
tarafından dönen egzotik objeler bound function yaratıldığı zamanki kaynağı hatırlar. Bundan dolayı bir fonksiyon birden fazla defa bağlanamaz.