前提・実現したいこと
ここに質問の内容を詳しく書いてください。
下記のコードの結果が5になる理由がわかりません。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
Javascript
for (i = 0; i < 3; i++) {
i = i + 1;
}
if ( i % 2 === 0 ) {
++i;
} else {
--i;
}
alert(i);
### 試したこと for文の結果、iの値は3になり、if文の結果falseを返すので値は2になると思います。 しかしながら、実際にコードを実行するとfor文の結果は3になりますが、そのあとのif文の結果は5になります。 3%2===0はfalseなので値がマイナスされて2になるはずだと思ったんですが、5になるのはどういう理由からなんでしょうか? 仮にfor文の中にif文が含まれていたとしてもfor文で値が1になり、if文でfalseを返すので0に戻り計算が永遠に終わりません。 いくら考えてもiの値が3を超える理由がわからなかったので質問させていただきました。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/27 12:59