L'un est bon et l'autre est mauvais :-)
Non sérieusement, la première est plus courte (moins d'octets envoyés sur le fil) et il n » t avoir des problèmes potentiels étranges. Le second, cependant, fonctionnera bien.
La partie bizarre avec new Array()
est la suivante: si vous passez un paramètre numérique au constructeur, cela signifie « initialiser le tableau afin qu'il y ait qu'il ya le nombre donné d'éléments de tableau vide (null
), etc. que length
est égal au nombre donné. " (Bon, il doit s'agir d'un entier, je pense en fait.) Si vous passez un seul non-nombre, ou deux nombres ou plus, cela signifie, "initialiser le tableau afin que son contenu reflète cette liste d'arguments." Ok maintenant j'ai dit qu'il y avait une partie bizarre, et c'est ceci: si vous utilisez une sorte de framework côté serveur, et que vous voulez créer un tableau de valeurs numériques (valeurs entières), comme disent les clés de bases de données uniques , alors vous pourriez être tenté de le faire:
var keys = new Tableau (< @ favoriteTemplateLanguage.forEach (idList): print (id + ',') @>);
(J'ai inventé cette syntaxe bien sûr.) Que se passe-t-il s'il n'y a qu'un seul "id" dans votre liste de clés côté serveur?
Dupliquer? http://stackoverflow.com/questions/931872/whats-the-difference-between-array-and-while-declaring-a-javascript-arr – Anders
On est joli, on est moche. L'un est un tableau littéral, on crée un nouvel objet Array. Ils font à peu près la même chose ... Je n'ai jamais vu une utilisation pour 'new Array (countOfUndefinedElements), même si je suppose qu'il y en aura. – Warty
L'utilisation de l'initialisation littérale '[]' est nettement plus rapide;) –