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

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

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

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

Q&A

解決済

1回答

546閲覧

jsの計算機について

masaki31183707

総合スコア7

JavaScript

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

0グッド

0クリップ

投稿2020/07/07 14:02

編集2020/07/07 14:22
<script type="text/javascript"><!-- myTotal = 0; // 現在の合計値 myInput = ""; // 現在入力している値 myCalc = "+"; // 合計と入力値の演算子 myFlg = 0; // 1回前に入力したもの 0:数字 1:演算子 function myValue(myData){ // 0~9または小数点ボタンを押した myFlg = 0; // 1回前に入力したものは数値 myInput += myData; // 現在入力している値に追加 document.myForm.myLine.value = myInput; // 現在入力している値表示 } function myCalculate(myData){ // 演算ボタンを押した if (myFlg==0){ // 1回前に入力したものは数値か? myFlg = 1; // 1回前に入力したものは演算子 myWork = myTotal + myCalc + myInput; // 一連の計算式を作る myTotal = eval(myWork); // 計算式を計算させる myInput = ""; // 現在入力している値をクリア document.myForm.myLine.value = myTotal; // 合計を表示 } if (myData == "="){ // 演算ボタンは[=]か? myTotal = 0; // 合計をクリア myCalc = "+"; // 演算子を[+]とする }else{ // 演算ボタンは[=]以外である myCalc = myData; // 演算子を退避させておく } } function myC(){ // クリアボタン[C]を押した myTotal = 0; // 合計クリア myCalc = "+"; // 演算子クリア myInput = ""; // 現在入力している値をクリア document.myForm.myLine.value = myTotal; // つまり、0を表示 } // --></script> <form name="myForm"> <table border="1" bgcolor="#BDB76B"> <tr> <td align="center" colspan="4" bgcolor="#d2691e"><font color="#FFFFFF"> <strong> 電 卓</font></strong></td> </tr> <tr> <td colspan="3"><input type="text" size="12" name="myLine" value="0"></td> <td align="center"><input type="button" value="C" onclick="myC()"></td> </tr> <tr> <td align="center"><input type="button" value=" 7 " onclick="myValue(7)"></td> <td align="center"><input type="button" value=" 8 " onclick="myValue(8)"></td> <td align="center"><input type="button" value=" 9 " onclick="myValue(9)"></td> <td align="center"><input type="button" value="÷" onclick="myCalculate('/')"></td> </tr> <tr> <td align="center"><input type="button" value=" 4 " onclick="myValue(4)"></td> <td align="center"><input type="button" value=" 5 " onclick="myValue(5)"></td> <td align="center"><input type="button" value=" 6 " onclick="myValue(6)"></td> <td align="center"><input type="button" value="×" onclick="myCalculate('*')"></td> </tr> <tr> <td align="center"><input type="button" value=" 1 " onclick="myValue(1)"></td> <td align="center"><input type="button" value=" 2 " onclick="myValue(2)"></td> <td align="center"><input type="button" value=" 3 " onclick="myValue(3)"></td> <td align="center"><input type="button" value="-" onclick="myCalculate('-')"></td> </tr> <tr> <td align="center"><input type="button" value=" 0 " onclick="myValue(0)"></td> <td align="center"><input type="button" value=" ・ " onclick="myValue('.')"></td> <td align="center"><input type="button" value=" + " onclick="myCalculate('+')"></td> <td align="center"><input type="button" value="=" onclick="myCalculate('=')"></td> </tr> </table> </form> </body> コード

いまイヌでもわかるjavascript講座というサイトで学習しているのですが、上のコードの中にあるmyFlgという変数がなぜ数字と演算子を認識して、判別しているのか分からないです。この質問を見られた方でわかる人がいれば教えて欲しいです。

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

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

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

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

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

m.ts10806

2020/07/07 14:04

このコードだけで分かることはほぼないです。 単に変数に初期値を定義しているだけです。 そのサイトの該当のページを提示された方が良いかと思います。
masaki31183707

2020/07/07 14:17

そうですね。 投稿する前に読み直すべきでした。
guest

回答1

0

ベストアンサー

なぜ数字と演算子を認識して、判別しているのか

数字は連続して入力すると二桁、三桁と入力ができるからです
演算子を押した場合、その後の数字入力を待って、演算子の前と後の演算をします

投稿2020/07/07 15:42

yambejp

総合スコア114814

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問