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

推薦する

Nginx で同じドメイン名を持つ複数のプロジェクトを構成する方法

Nginx を使用して同じドメイン名で複数のプロジェクトを構成するには、次の 2 つの方法があります...

Vue プロジェクトに Electron を追加するための詳細なコード

1. package.jsonに追加する "メイン": "electr...

Linux に起動方法を追加する (サービス/スクリプト)

システムの起動時に読み込む必要がある設定ファイル/etc/profile、/root/.bash_p...

Docker が MySQL を作成する説明

1. MySQLイメージをダウンロードするコマンド: docker pull mysql 2. コン...

Linux で履歴レコードを表示し、タイムスタンプを追加するためのヒント

Linux で履歴レコードを表示し、タイムスタンプを追加するためのヒントbashに詳しい人なら、hi...

nginx でクロスドメイン障害修復を構成する方法の例

Nginxのクロスドメイン設定は次のようには機能しません サーバー{ 聞く 80; server_n...

Ubuntu 18.04の下のディレクトリにディスクをマウントします

導入この記事では、Ubuntu 18.04 デスクトップ システムでディスクを目的のディレクトリにマ...

JavaScript は最大値と最小値のアルゴリズムを通じて AI 三目並べゲームを実装します

では、早速スクリーンショットを実行してみましょう。黒い駒はプレイヤーの位置、赤い駒はコンピュータの位...

Dockerボリューム削除操作

プルーンこのコマンドを使用するには、クライアントとデーモンの両方の API バージョンが少なくとも ...

ディスク容量不足による MySQL レプリケーション障害の解決方法

目次ケースシナリオ問題を解決するまとめケースシナリオ本日、オンラインで問題が発見されました。監視範囲...

nginxアクセス制御の実装例

高性能で軽量なウェブサービスソフトウェアであるNginxについて高い安定性 システムリソースの消費量...

Bootstrap 3.0 学習ノート グリッドシステム事例

序文前回の記事では、主にグリッドシステムの基本原理を学び、簡単なケースを通してその原理を実践しました...

チェックボックスの不確定プロパティの使用の紹介

Windows XP でフォルダーのプロパティ ダイアログ ボックスを使用すると、フォルダーの属性カ...

CSS を使用してテクスチャ付きグラデーション背景画像を記述するためのサンプル コード

プロジェクト内のページの長さはおよそ2000px以上あり、背景画像にはテクスチャやグラデーションがあ...

MySQL 8.0.18 のインストールと設定方法のグラフィックチュートリアル (Windows 10 版)

この記事は、参考のためにMySQL 8.0.18のインストールと設定のグラフィックチュートリアルを記...