فراخوانی محتوای یک آرایه
اهمیت: 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 مقدار داشت سپس تابع اضافه شد.