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

推薦する

MySQL 8.0.16 winx64 のインストールと設定方法のグラフィックチュートリアル (win10 の場合)

この記事では、MySQL 8.0.16 winx64のインストールと設定の具体的な方法を記載します。...

CSS カウンターを使用して数字の順序付きリストを美しく表示する方法

Web デザインでは、Web サイトに表示されるデータの構造とコンテンツをユーザーが明確に理解できる...

Chrome Dev Tools を使用してページのパフォーマンスを分析する方法 (フロントエンドのパフォーマンス最適化)

背景開発やデバッグには Chrome Dev Tools がよく使用されますが、ページのパフォーマン...

SSHのssh-keygenコマンドの基本的な使い方の詳細な説明

SSH 公開鍵認証は、SSH 認証方式の 1 つです。 SSH パスワードフリーのログインは公開鍵認...

MySQL でコミットされていないトランザクション情報を見つける方法

少し前に、「ORACLE でコミットされていないトランザクションの SQL ステートメントを見つける...

測定画像HTTPリクエスト

一般的なブラウザでテスト ページを開き、Fiddler で http リクエストを表示してください。...

フロントエンド プロジェクトのデフォルトのスクロール バー スタイルを変更する (概要)

スクロールバーのデフォルトスタイルを変更する必要があるプロジェクトを多数作成しましたが、プラグインを...

MySQL で浮動小数点データを文字データに変換するときに起こりうる問題の詳細な説明

序文この記事は主に、MySQL で浮動小数点型を文字型に変換するときに発生する問題を紹介します。これ...

Docker+jenkins+python3環境を使用して非常に詳細なチュートリアルを構築する

序文:自動化を記述した後、毎日サーバー上で実行する必要があります。このような問題に遭遇しました。Je...

jQuery はラブエフェクトをクリックする

この記事では、jQueryのクリック時のラブエフェクトの具体的なコードを参考までに共有します。具体的...

初心者のためのWebページ作成: HTMLのハイパーリンクAタグの使い方を学ぶ

ハイパーリンク a タグはリンク ポイントを表し、英語の単語「anchor」の略語です。その機能は、...

便利なモバイルスクロールプラグイン BetterScroll

目次スクロールをスムーズにするBetterScrollのスクロール体験慣性ローリングエッジリバウンド...

MYSQL 演算子の概要

目次1. 算術演算子2. 比較演算子3. 論理演算子4. ビット演算子5. 演算子の優先順位1. 算...