This commit is contained in:
Ilya Kantor 2016-07-21 17:05:55 +03:00
parent 1bffa43db4
commit 057783d216
373 changed files with 203 additions and 190 deletions

View file

@ -0,0 +1,15 @@
The call `arr[2]()` is syntactically the good old `obj[method]()`, in the role of `obj` we have `arr`, and in the role of `method` we have `2`.
So we have a call of the function `arr[2]` as an object method. Naturally, it receives `this` referencing the object `arr` and outputs the array:
```js run
let arr = ["a", "b"];
arr.push(function() {
alert( this );
})
arr[2](); // "a","b",function
```
The array has 3 values: initially it had two, plus the function.

View file

@ -0,0 +1,18 @@
importance: 5
---
# Calling in an array context
What is the result? Why?
```js
let arr = ["a", "b"];
arr.push(function() {
alert( this );
})
arr[2](); // ?
```