2009-12-10 12 views
6

Ok Pytałem ostatnio wiele pytań JS i zrozumiałem, że muszę się tego nauczyć.javascript dla() pętli, split() i pytania tablicowego

Następujące samouczki na http://www.tizag.com/javascriptT bardzo proste i proste.

Po prostu chcę się upewnić, że rozumiem to poprawnie. Zajęło mi trochę czasu, aby dostać go:

<script type="text/javascript"> 
var myString = "zero one two three four"; 

var mySplitResult = myString.split(" "); 

for(i = 0; i < mySplitResult.length; i++){ 
    document.write("<br /> Element " + i + " = " + mySplitResult[i]); 
} 
</script> 

-

var myString = "zero one two three four"; 

Oczywiście, że tworzy prostą zmienną string.

var mySplitResult = myString.split(" "); 

To dzieli go za pomocą "" jako ogranicznika i przypisuje go do tablicy mySplitResult. Poprawny? Czy to nie jest tablica?

for(i = 0; i < mySplitResult.length; i++){ 

Czy to powiedzenie oznacza liczbę wartości w tablicy? Nie wygląda na to, że może to być faktyczna długość znaków w ciągu znaków.

document.write("<br /> Element " + i + " = " + mySplitResult[i]); 

To po prostu zwraca mySplitResult [i] zmienną "i". Ponieważ I rośnie z każdą pętlą, pobiera ona prawidłowe informacje z tablicy.

+8

odpowiedź brzmi „tak”. Nie ma nic więcej do powiedzenia. –

+1

Możesz sprawdzić takie szczegóły, korzystając z internetowego źródła, takiego jak Mozilla: https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference lub Microsoft's: http://msdn.microsoft.com/en-us/library/yek4tbz0 (VS.85) .aspx – NickFitz

Odpowiedz

1

Twoja analiza jest prawidłowa, ale powinieneś to zobaczyć, po prostu ją testując. Użyj rozszerzenia Firebug w Firefoksie i możesz przejść przez javascript.

Pomoże Ci to zrozumieć, co się dzieje, ponieważ możesz wtedy spojrzeć na właściwości elementu i monitorować, co się dzieje.

13

Twoje zrozumienie jest zasadniczo poprawne. Jedną z rzeczy, którą powinieneś zrobić, jest zadeklarowanie wszystkich zmiennych: jest to szczególnie ważne w funkcjach. Tak więc, należy zadeklarować i jako zmienna, albo przed pętli:

var i; 
for (i = 0; i < mySplitResult.length; i++) { 

... albo w pierwszej wypowiedzi w oświadczeniu for:

for (var i = 0; i < mySplitResult.length; i++) {