torna alle lezioni

Chiamata di funzione

importanza: 5

Qual è il risultato? Perché?

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

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

arr[2](); // ?

La chiamata arr[2]() è sintatticamente equivalente a obj[method](); al posto di obj abbiamo arr, e al posto di method abbiamo 2.

Quindi abbiamo una chiamata al metodo arr[2]. Naturalmente, riceve il riferimento a this e ritorna l’array:

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

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

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

L’array ha 3 valori: inizialmente ne ha due, successivamente viene aggiunta la funzione.