jsはシンプルな計算機を実装します

jsはシンプルな計算機を実装します

参考までに、ネイティブjsを使用して簡単な計算機(詳細なコメント付き)を実装します。具体的な内容は次のとおりです。

<!DOCTYPE html>
<html lang="ja">
  <ヘッド>
    <メタ文字セット="UTF-8" />
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0" />
    <title>ドキュメント</title>
    <スタイル>
      .div {
        幅: 500ピクセル;
        高さ: 600px;
        境界線: 1px 実線 #000000;
        マージン: 自動;
      }
      .divs > 入力 {
        幅: 460ピクセル;
        高さ: 45px;
        左マージン: 18px;
        上マージン: 10px;
        フォントサイズ: 30px;
        背景色: 白;
        テキスト配置: 右;
      }
      .divs > div {
        幅: 100ピクセル;
        高さ: 100px;
        フロート: 左;
        境界線: 1px 実線 #000000;
        左マージン: 18px;
        上マージン: 25px;
        フォントサイズ: 40px;
        行の高さ: 100px;
        テキスト配置: 中央;
        ユーザー選択: なし;
      }
    </スタイル>
  </head>
  <本文>
    <div class="divs">
      <input type="text" value="0" id="input1" 無効 />
      <div class="block">7</div>
      <div class="block">8</div>
      <div class="block">9</div>
      <div class="block">-</div>
      <div class="block">4</div>
      <div class="block">5</div>
      <div class="block">6</div>
      <div class="block">+</div>
      <div class="block">1</div>
      <div class="block">2</div>
      <div class="block">3</div>
      <div class="block">*</div>
      <div class="block">C</div>
      <div class="block">0</div>
      <div class="block">=</div>
      <div class="block">/</div>
</div>

js:

<スクリプト>
      // クラス名が block であるすべての要素を取得します。 var blocks = document.getElementsByClassName("block");
      // 入力を取得
      var 入力 = document.getElementById("input1");
      //最初の値を宣言する var firstValue = 0,
        ブール値 = false;
      //演算子var型を宣言します。
      (var i = 0; i < ブロック長; i++) {
       //i番目のブロックをクリック
        ブロック[i].onclick = 関数 () {
          //これはクリックされたものを指します。ここでは、これはクリックされるたびに要素を指します。console.log(this);
          //this.innerHTML はクリックされた div の内容を表示します (1、2、3、-、+ など)
          //クリックされた値が数値(NaN または数値)かどうかを判断します
          if (!isNaN(this.innerHTML)) {      
            // bool は最初は false です。bool が false のときは、入力を続けることができます。bool が true のときは、入力は 0 にクリアされます。
            if (ブール) {
              入力値 = "0";
              ブール値 = false;
            }
            // クリックされたコンテンツに入力の値を追加し、先頭の 0 を削除して数値に変換し、文字に変換します。 input.value = Number(input.value + this.innerHTML).toString();
          } それ以外 {
           //クリックかどうかを判断します + - * /if (this.innerHTML !== "C" && this.innerHTML !== "=") {
              //最初の数値をfirstValueに保存します 
              firstValue = Number(入力値);
              //演算子を型に格納する
              タイプ = this.innerHTML;
              //入力の値を0にリセットします
              入力値 = "0";
            } else if (this.innerHTML === "C") { // C をクリックした状況を判断 // すべてリセット firstValue = 0;
              タイプ = 未定義;
              入力値 = "0";
            } else { //クリック状況を判断 = //オペレータスイッチの種類に応じて操作を実行する(type){
                ケース「+」:
                  input.value = (firstValue + Number(input.value)).toString();
                  壊す;
                場合 "-":
                  input.value = (firstValue - Number(input.value)).toString();
                  壊す;
                場合 "*":
                  input.value = (firstValue * Number(input.value)).toString();
                  壊す;
                場合 "/":
                  // 除数が 0 の場合は input.value をリセットします
                  Number(input.value) === 0の場合、input.value = "0";
                  それ以外
                    input.value = (firstValue / Number(input.value)).toString();
                  壊す;
              }
              //bool が true の場合、「=」をクリックした後、再度入力すると、input.value は 0 になります
              ブール値 = true;
            }
          }
        };
      }

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • js 正確なカウントダウン機能の共有
  • ID番号を確認するための超正確なJavaScriptメソッド
  • js ドラッグ アンド ドロップ テーブルでコンテンツ計算を実現する
  • Apple 電卓の JS 実装
  • JavaScript シミュレーション計算機
  • シンプルな計算機機能を実現するJavaScript
  • JavaScript でテキストの行数を計算する方法
  • JavaScript の典型的なケースのシンプルな計算機
  • js 正確な計算

<<:  MySQL 5.7 のパフォーマンスと sys スキーマの監視パラメータの説明 (推奨)

>>:  一般的な Linux の問題に対する解決策の概要

推薦する

HTML フォームとフォーム内部タグの使用

コードをコピーコードは次のとおりです。 <html> <ヘッド> <t...

Linux自動ログイン例の説明

インターネット上には、expect を使用して自動ログインを実現するスクリプトが多数存在しますが、明...

MySql 5.7.21 無料インストール バージョンの構成方法 (Win10 の場合)

1.インストールしたい場所に解凍し、my.iniファイルを作成します。 my.iniの内容は次のと...

CSS を使用して ul と li の水平配置を実現する 2 つの方法

li はブロックレベル要素であり、デフォルトで 1 行を占めるため、水平方向の配置を実現する場合は、...

MySQL 8.0はJSONを扱えるようになりました

目次1. 概要2. JSON基本ツール3. JSONパス式4. JSONを検索して変更する序文:長い...

Dockerに関するよくある質問

Docker はポートを IPv6 にのみマッピングし、IPv4 にはマッピングしません。 dock...

DockerはホストのMysql操作に接続します

今日、会社のプロジェクトでは docker を設定する必要があります。Windows に正常にインス...

Dockerのインストール方法とDockerの4つのネットワークモードの詳細説明

1. Dockerをインストールするyum -y install docker-ioインストールが完...

検索履歴を実装するjQueryプラグイン

毎日jQueryプラグイン - 検索履歴を作成するためのものです。参考までに、具体的な内容は次のとお...

Vueブラウザが監視を再開するための具体的な手順

序文ページを共有するときに、ブラウザの戻るボタンをクリックしてプロジェクトのホームページに戻り、訪問...

Flash が HTML div 要素を覆わないようにする方法

今日、フラッシュ広告のコードを書いていたとき、フラッシュに付属するリンクはポップアップ広告と間違われ...

Vue が天気予報機能を実装

この記事では、天気予報機能を実現するためのVueの具体的なコードを参考までに共有します。具体的な内容...

HTML/CSSにおける記号論の詳細な説明

この記事では、ソシュールの言語哲学などの理論に基づいて、CSS の class 属性は不要であると主...

初心者向けに Docker に Jenkins をインストールする方法を詳しく説明したチュートリアル

Jenkins はオープンソース ソフトウェア プロジェクトです。Java をベースに開発された継続...

bashコマンドの使い方の詳細な説明

Linux では、基本的に vi エディタのように「.sh」拡張子を持つテキストの処理と実行を記述す...