質問: JavaScriptの勉強を始めたばかりです。 いくつかの数字を、コロンで区切って適当な数テキストボックスに入力した時に、それを全て足すというプログラムを作ろうとしています。
回答: ループを継続するか否かの条件が、 a.length>=i だと、例えば「1:2」の入力に対して、a.lengthは2ですから、 i=0,1,2についてa[i]を評価しようとしてしまいます。 正しくa[0],a[1]だけ評価させるなら、 a.length>i のような条件でないといけません。 ちなみに、個人的には、そのコードに近い形で書くのなら、 while(1){ if(i>=a.length)break; a[i]=a[i]-0; k=k+a[i]; i=i+1; } のように、先頭でループの終了条件を記述してbreakする方が好みかも。 {}のネストも深くなりませんし。