بازگشت به درس

متد bind دوم

اهمیت: 5

آیا می‌توانیم با پیوند زدن اضافی 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(...) برگردانده شده، زمینه (و در صورت قرار دادن، آرگومان‌ها) را فقط در زمان ایجاد شدن به یاد می‌سپارد.

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