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 の問題に対する解決策の概要

推薦する

JavaScript で円形カルーセルを実装する

この記事では、円形カルーセルを実装するためのJavaScriptの具体的なコードを参考までに紹介しま...

mysql indexof関数の使用手順

以下のように表示されます。 LOCATE(部分文字列、文字列)文字列 str 内の部分文字列 sub...

Dockerコンテナのホスト間マルチネットワークセグメント通信ソリューションの詳細説明

1. マックヴラン前回のブログ投稿で紹介した Docker コンテナのホスト間通信を実現するための ...

動的および静的分離を実装するための Nginx サンプル コード

この記事のシナリオと組み合わせて、Nginx と Java 環境 (SpringBoot プロジェク...

vmware14Pro で Ubuntu システム インターフェイスが小さすぎる問題の解決方法の詳細な説明

1. 動作環境vmware14proウブントゥ 16.04LTS 2. 問題の説明vmware14P...

幅と高さが可変の要素を中央に配置するための CSS ソリューション

1. 水平中央公開コード: html: <div class="parent&quo...

CSS3 画像の境界線を学ぶのに役立つ記事

CSS3 border-image プロパティを使用すると、要素の周囲に画像の境界線を設定できます。...

CSSファイルをインポートする3つの方法の詳細な説明

CSS を導入する方法には、インライン スタイル、内部スタイル シート、外部スタイル シートの 3 ...

Docker コンテナに TensorRT をインストールする際の問題

Ubuntu にインストールされているバージョンをアンインストールします。 sudo apt-get...

JavaScriptスコープについての簡単な説明

目次1. 範囲1. グローバルな範囲2. ローカルスコープ2. 変数のスコープ1. グローバル変数2...

MySQL 8.0.20 Window10無料インストール版設定とNavicat管理チュートリアルグラフィック詳細説明

1. MySQL 8.0.20をダウンロードして解凍するダウンロードリンク: https://dev...

中国における中国語ドメイン名の人気は新たなクライマックスを迎えた

<br />外交部などの中央政府機関、各レベルの地方政府、その他の国家機関や部門が率先し...

JavaScriptを使用してSMS認証コード間隔を送信する機能を実装する

多くのアプリやウェブサイトでは、ログインやアカウント登録の際にSMS認証コード1を送信する場所があり...

JS 関数のアンチシェイクと関数スロットリングを理解する方法

目次概要1. 関数デバウンス2. 機能スロットリング(スロットル)概要関数アンチシェイクと関数スロッ...

Mysql5.7.17 winx64.zip 解凍バージョンのインストールと設定のグラフィックチュートリアル

1. mysql-5.7.17-winx64.zip をダウンロードします。リンク: https:/...