2014-04-19 19 views
6

W większości javascript aplikacje I zazwyczaj zadeklarować tablicę Podobnie jakJakie korzyści daje javascript deklarując tablicę o określonej długości?

var x = []; 

ale widziałem mnóstwo przykładowy kod na MDN, że takie podejście zamiast

var x = new Array(10); 

Z drugiej nowoczesnej V8/JS silników, czy widzisz prawdziwą korzyść w taki czy inny sposób?

+3

Wydajność, choć nieistotna. – Johan

+0

sprawdź to: http://stackoverflow.com/questions/1246408/use-of-javascript-array-new-arrayn-declaration –

+0

'new Array (10);' Jawnie deklarowanie o określonej długości nie ma żadnego sensu dla mnie, ponieważ nie ma prawdziwej długości do tablicy w JS ... –

Odpowiedz

2

Brak. JavaScript nie implementuje prawdziwych tablic. Wszystko zostaje pobrane z notacji obiektów javascript.

więc powiedzieć:

a = [0, 1]; 
b = {"0": 1, "1": 1}; 

ten sam efekt:

a[0] //0 
b[0] //0 

Jeszcze jedno, aby pamiętać, kiedy to zrobić:

a[100] = 100; 

Długość zostanie automagicznie ustawić do 101. Chociaż:

a[2] //undefined 
+1

Przypominam sobie, że ktoś demonstruje, że niektóre nowe silniki przyjmują argument dotyczący wielkości wiary i faktycznie dokonują wstępnego przydziału. Kiedyś było tak, że rozmiar tablicy był * zły * pomysłem, ponieważ jeśli * naprawdę * stare środowiska wykonawcze ślepo przydzieliłyby wstępnie, bez względu na wartość, prowadząc do możliwych warunków braku pamięci. – Pointy

+0

Rozróżnia mądrość w przydzielaniu pamięci. Więc może to mieć znaczenie w zależności od scenariusza. – Johan

Powiązane problemy