qqq: Hat JS Referenzen wie PHP? a = &b?

Beitrag lesen

Globale Variabeln sind immer eine schlechte Lösung,

var arr = [];
...

  
Nanu? Ist arr hier nicht gerade auch eine globale Variable? Ist arr mithin der Funktion nicht sowieso bekannt? Ist demnach  
  
~~~javascript
var arr = [];  
function add(val) {arr.push(val);}  
add(1);  
add(2);  
alert(arr);

nicht gleichwertig (mal abgesehen von der Mehrfach-Verwendbarkeit der Funktion)?