2009-12-10 17 views
6

私は最近、JSの質問をたくさんお願いしています。javascript for()loop、split()、array question

http://www.tizag.com/javascriptTのチュートリアルは非常に簡単で簡単です。

これを正しく理解しておきたいだけです。それはそれを得るために私にしばらく時間がかかった:

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

明らかにそれは単純な文字列変数を作成します。

var mySplitResult = myString.split(" "); 

これは区切り文字として ""を使用して分割し、mySplitResult配列に割り当てます。正しい?それとも配列ではないのですか?

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

これは配列の値の数を表していますか?文字列の文字の実際の長さを言っているように見えません。

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

これは、mySplitResult [i]変数 "i"を返します。 iはループごとに増加しているので、配列から正しい情報が引き出されます。

+8

答えは「イエス」です。言いたいことはあまりありません。 –

+1

Mozillaのhttps://developer.mozilla.org/ja/Core_JavaScript_1.5_ReferenceやMicrosoftのhttp://esedn.microsoft.com/en-us/library/yek4tbz0などのオンラインリファレンスを使用して、このような詳細を確認できます。 (VS.85).aspx – NickFitz

答えて

1

あなたの分析は正しいですが、テストしてみると分かります。 Firebugの拡張機能をFirefoxで使用すると、JavaScriptを使用することができます。

これは、何が起こっているのかを理解するのに役立ちます。次に、要素のプロパティを見て、実際に何が起こっているかを監視できます。

13

あなたの理解は本質的に正しいです。あなたがすべきことは、すべての変数を宣言することです。これは関数内で特に重要です。だから、あなたはどちらかのループの前に、変数としてiを宣言する必要があります。

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

...かfor文の最初の式で:

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