Używam Google Chrome do tego testu: W przeciwieństwie do intuicji, pierwsza pętla alarmuje "ciąg" 3 razy, podczas gdy druga pętla alarmuje "liczbę" 3 razy.Podczas iteracji wartości, dlaczego typeof (wartość) zwraca "ciąg", gdy wartość jest liczbą? JavaScript
numarray = [1, 2, 3];
//for-each loop
for(num in numarray)
alert(typeof(num));
//standard loop
for(i=0; i<numarray.length; i++)
alert(typeof(numarray[i]));
Spodziewałem się, że obie pętle ostrzeżą "numer" 3 razy. W jaki sposób pierwsza pętla jest zaimplementowana w JavaScript? Innymi słowy, jeśli każdy z nich jest cukrem syntaktycznym, jaki jest jego odpowiednik przy użyciu standardowej pętli?
Czy istnieje również sposób na iterację przestrzeni nazw obiektu za pomocą standardowej pętli? Chciałbym dotknąć każdego z metod i atrybutów obiektu za pomocą pętli drugiego rodzaju. Jestem nowy w JavaScript i każda pomoc jest bardzo ceniona, dzięki.
To również ostrzeże "ciąg" w IE. – Senthil
możliwy duplikat [Czy indeks tablicy JavaScript jest łańcuchem lub liczbą całkowitą?] (Http://stackoverflow.com/q/27537677/1048572) – Bergi