2009-12-10 17 views
6

Ok ho fatto molte domande su JS ultimamente e ho capito che devo solo imparare.javascript per() loop, split() e array question

È stato seguito il seguente tutorial allo http://www.tizag.com/javascriptT molto semplice e diretto.

Voglio solo assicurarmi di averlo capito correttamente. Mi c'è voluto un po 'per farlo:

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

Ovviamente questo crea una variabile stringa semplice.

var mySplitResult = myString.split(" "); 

che divide usando "" come delimitatore, e assegna alla matrice mySplitResult. Corretta? O non è un array?

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

È questo dicendo che il numero di valori nella matrice? Non sembra che potrebbe essere la lunghezza effettiva dei caratteri nella stringa.

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

Questo restituisce appena mySplitResult [i] variabile "i". Dal momento che sto aumentando con ogni ciclo, tira le informazioni corrette dall'array.

+8

La risposta è "sì". Non c'è molto altro da dire. –

+1

Puoi controllare dettagli come questo usando un riferimento online come Mozilla: https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference o Microsoft: http://msdn.microsoft.com/en-us/library/yek4tbz0 (VS.85) aspx – NickFitz

risposta

1

L'analisi è corretta, ma è necessario verificarla semplicemente testandola. Usa l'estensione Firebug con Firefox e puoi scorrere il tuo javascript.

Questo ti aiuterà a capire cosa sta succedendo, come puoi quindi vedere le proprietà dell'elemento e monitorare ciò che sta realmente accadendo.

13

La tua comprensione è sostanzialmente corretta. Una cosa che dovresti fare è dichiarare tutte le tue variabili: questo è particolarmente importante nelle funzioni. Quindi, si dovrebbe dichiarare i come una variabile, sia prima del ciclo:

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

... o la prima espressione nella dichiarazione for:

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