بازگشت به درس

فراخوانی محتوای یک آرایه

اهمیت: 5

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

let arr = ["a", "b"];

arr.push(function() {
  alert( this );
});

arr[2](); // ?

صدازدن arr[2]() از لحاظ سینتکس همان obj[method]() قدیم است، ما arr را در نقش obj داریم و 2 در نقش method.

پس صدازدن تابع arr[2] مانند متد یک شیء است. به طور طبیعی، این تابع this را درحالی که به شیء arr رجوع می‌کند می‌گیرد و آرایه را نمایش می‌دهد:

let arr = ["a", "b"];

arr.push(function() {
  alert( this );
})

arr[2](); // a,b,function(){...}

آرایه 3 مقدار دارد: در ابتدا 2 مقدار داشت سپس تابع اضافه شد.