質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

1142閲覧

点滅の記述(ifの中の変数=0、1の意味)

beginner001

総合スコア29

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2020/04/25 05:10

編集2020/04/26 02:57

javascript

1<html> 2<head> 3<title></title> 4<script> 5 let hyouji=0; //表示の状態を表す変数を hyouji とした  6 function tenmetsu(){ //文字を点滅させるための関数を tenmetsu() とする 7 if(hyouji==0) {            //hyoujiが0に等しい場合は 8 document.form1.textbox1.value="警報発令中!"    //テキストボックスの表示を「警報発令中!」としてください 9 hyouji=1;               //そしてその後でhyoujiに1を代入してください 10 } 11 else{                 //そうでなければ 12 document.form1.textbox1.value="";  //テキストボックスの表示を空白にしてください 13 hyouji=0;              //そしてその後でhyoujiに0を代入してください(つまり「警報発令中!」にしなさい。) 14 } 15 } 16</script> 17</head> 18<body> 19 <form name="form1"> 20 <input type="text" name="textbox1"> 21<script> 22 setInterval("tenmetsu()",700);    //setInterval(自作した関数名,時間間隔) 0.7秒の場合700にする  23 24</script> 25</body> 26</html>

//source は http://www5e.biglobe.ne.jp/~komichan/javascpt/htmlJS_tenmetsu.html 
hyouji=0 hyouji=1 はスイッチがON OFFのように考えれば良いのでしょうか?hyouji=0だったら「警報発令中!」にして、その後でhyouji=1にしてください にしておけば 次の行のelseでテキストボックスの値を空白にしてくださいで、hyouji=1が空白にすることだなとプログラムが認識してくれると考えれば良いのでしょうか?
もしプログラムがこうした認識をしてくれるのなら、こうした挙動を表す用語がありますでしょうか>

リンク先:リンク内容

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/04/25 05:11

「前回の質問」をリンクにしてください。
m.ts10806

2020/04/25 05:12

ただ、実際に問題が出ているようには見えません。 「動いてればそれが正しい」とも言えます。 動いてるのであれば自信持っても良いのでは。 1つのことを実現するための手段は1つではないので 絶対の正解と言うのはありません。書いた通りに動いていて、それが自身の想定したものになっているかのみだと思います。
m.ts10806

2020/04/25 05:16

あとタイトルは変えた方がいいですね。 >再度、点滅の質問です 何のことか分かりません。続きなのであれば質問文中にリンクを貼れば良い話で、「点滅の質問」では何が問題か分かりません。要件を書きましょう。
guest

回答1

0

プログラムの進行の流れを理解してもらえると分かりやすいと思います。

setInterval("tenmetsu()",700);

この部分はコメントにあるように、0.7秒ごとに tenmetsu() という関数を呼び出しています。
じゃあ、文字を点滅させようと思ったときに tenmetsu() 内でどのような処理をすればいいのか?
それは、
①文字が表示されていなかったら表示する
②文字が表示されていたら消す
ということになります。

となると、tenmetsu()の中で必要な情報は「文字が今表示されているのか?」ってことです。
それを管理しているのが hyouji という変数で、1なら表示中、0なら非表示です。
ちなみにこういう何かの状態を管理するものをフラグと言ったりします。

(前略)hyouji=1が空白にすることだなとプログラムが認識してくれると考えれば良いのでしょうか?

ここについては少し認識に違和感を感じます。
ニュアンスとしては良いと思うのですが、プログラムが認識してくれるというよりは
人間が プログラムを使って(1なら表示中だから消す、0なら非表示中だから表示する)という命令を出しているのです。
理解した上で書かれているのであれば読み飛ばして下さい。

投稿2020/04/27 03:07

mkk

総合スコア378

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問