JavaScriptの動かないコード (初級編) カウンターのエラー
クイズ…下記のコードが意図した動作をしないのは,どうしてですか。(制限時間1分)
<input type="button" onClick="f1()" value="クリック"> <script language="JavaScript"> function f1() { // 5回繰り返す for( i = 0; i < 5; i ++ ) { f2(); } alert( "5×5=25回,表示できました。" ); } function f2() { // これも5回繰り返す for( i = 0; i < 5; i ++ ) { alert( i ); } } </script>
発生する不具合
iがグローバルになっているので,25回ではなく5回で終わる。
修正案
f1(), f2()の内部で,それぞれ var i; するべき。