2009-12-10 5 views
6

Ok, je me suis posé beaucoup de questions JS récemment, et je me suis rendu compte que je devais juste apprendre.javascript pour() loop, split() et array question

Avez-vous suivi les tutoriels au http://www.tizag.com/javascriptT très simple et directe. Je veux juste m'assurer que je comprends cela correctement. Il m'a fallu un certain temps pour l'obtenir:

<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"; 

Il est évident que cela crée une variable simple chaîne.

var mySplitResult = myString.split(" "); 

qui divise à l'aide de « » comme délimiteur, et il attribue au tableau de mySplitResult. Correct? Ou n'est-ce pas un tableau?

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

Est-ce que cela dit le nombre de valeurs dans le tableau? Ne semble pas pouvoir dire la longueur réelle des caractères dans la chaîne.

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

Cela renvoie juste la variable mySplitResult [i] "i". Comme i augmente avec chaque boucle, il tire les informations correctes du tableau.

+8

La réponse est "oui". Il n'y a pas grand chose d'autre à dire. –

+1

Vous pouvez vérifier ces détails en utilisant une référence en ligne telle que Mozilla's: https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference ou Microsoft: http://msdn.microsoft.com/fr-fr/library/yek4tbz0 (VS.85) .aspx – NickFitz

Répondre

1

Votre analyse est correcte, mais vous devriez le voir en le testant. Utilisez l'extension Firebug avec Firefox et vous pouvez parcourir votre javascript. Cela vous aidera à comprendre ce qui se passe, car vous pourrez alors examiner les propriétés de l'élément et surveiller ce qui se passe réellement.

13

Votre compréhension est essentiellement correcte. Une chose que vous devriez faire est de déclarer toutes vos variables: ceci est particulièrement important dans les fonctions. Donc, vous devez déclarer i comme une variable, soit avant la boucle:

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

... ou dans la première expression dans la déclaration for:

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