JavaScriptを勉強し始めた者です。
alert文とwhile文を組み合わせて、以下のようなプログラムを書いてみました。
<script>
var i=0;
var message=i+"になりました";
while(i<10){
alert(message);
i++;
}
</script>
「0になりました」「1になりました」「2になりました」……と、アラートを10回表示してくれるプログラムです。
alert("iになりました");などと書くと上手くいかないようなので、新たにmessageという変数を設けました。
質問なのですが、messageの内容をアラート10回表示させるところまでは上手くいくのですが、アラート内の変数表示が変化せず、10回とも「0になりました」と表示されるのです。
alert(i)にすると、きちんと「0」「1」「2」……とアラートで数えてくれるのですが、何が問題なのでしょうか?
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
messageが作られた時点でiの値が0だからです。
messageにとってはそのあとiの値がどうなろうと知ったことじゃあないんです。あなたが期待する動作をさせたいならば、
<script>
var i=0;
var message="になりました";
while(i<10){
alert(i+message);
i++;
}
</script>
でしょうか。
回答ありがとうございます。
message内に変数が含まれていれば、変数が変われば勝手にmessageも変わるだろうと思っていたのですが、while文中に入れておかないと変数の変化が反映されないのですね。
No.1
- 回答日時:
whileの中でmessageを更新しないとしかたないのでは?
いちおうきちんとやるならtoStringもしたほうがいいですね
<script>
var i=0;
while(i<10){
var message=i.toString()+"になりました";
alert(message);
i++;
}
</script>
回答ありがとうございます。
while文中でmessage内の変数を更新しないといけないのですね。
toString()メソッドを使わないと、どういう不具合が起きるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
JavaScriptで決まった「時刻」...
-
jqGridについて
-
C#OpenCv V4にのエラーに関する...
-
ローカルにあるファイルを検索...
-
C# 演算 奇数と偶数 表現の仕方
-
VSCODE[Python]の設定について
-
ASP.NETのコントロールの値をJa...
-
1日1回だけ引けるjavascriptお...
-
イベントが初めの一回しか起き...
-
1日1回だけ引けるjavascriptお...
-
C# 演算 分岐処理 繰り返し処理
-
イラストレーターでドキュメン...
-
シンプルなweb版スタンプラリー...
-
チェックボックスのチェック保持
-
javascriptでテーブルに追加し...
-
【javascript】正規表現で括弧...
-
gas スプレッドシートがアクテ...
-
なぜmatchメソッドがエラーにな...
-
カンマで終わってるのはセミコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
var exports = exports || {}; ...
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
GASでundefinedエラーが出ます
-
ジェネレーターの作り方
-
GASでGoogleフォームの自動返信...
-
HTMLで作った時報アプリが動き...
-
javascriptでテーブルに追加し...
-
html javascript リンク先アド...
-
【西暦等の変換】
-
ローカルにあるファイルを検索...
-
ASP.NETのコントロールの値をJa...
-
なぜmatchメソッドがエラーにな...
-
翌月を取得するGASが分かりません
-
gas スプレッドシートがアクテ...
-
ASP.NET MVCでObjectをjsに渡す
-
カンマで終わってるのはセミコ...
-
JavaScriptで文字列の特定文字...
-
javascriptでiframeのURL変更は?
-
APIを使って埋め込んだグーグル...
おすすめ情報