◐ Shell
clean mode source ↗

متد bind دوم

آیا می‌توانیم با پیوند زدن اضافی this را تغییر دهیم؟

خروجی چه خواهد بود؟

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

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

f();

جواب: John.

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

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

f(); // John

شیء بیگانه تابع پیوند زده شده که توسط f.bind(...) برگردانده شده، زمینه (و در صورت قرار دادن، آرگومان‌ها) را فقط در زمان ایجاد شدن به یاد می‌سپارد.

یک تابع نمی‌تواند دوباره پیوند زده شود.