シンプルな計算機を実装するためのネイティブ js

シンプルな計算機を実装するためのネイティブ js

この記事の例では、参考までに簡単な計算機を実装するためのjsの具体的なコードを共有しています。具体的な内容は次のとおりです。

最近、ブロガーは退屈していたので、js を使用して簡単な計算機を作成しました (ブロガーはフロントエンドではなく、バックエンドで作業しています >_<)。実際、フロントエンドの作業はとても楽しいです。自分で何かを作るのはとても充実感があります。さっそく、ソースコードをご紹介します。

<!DOCTYPE html>
<html>
    <ヘッド>
        <メタ文字セット="utf-8">
        <title>電卓</title>
        <スタイル>
            #b1{
                テキスト配置: 中央;
                背景色: 水色;
                幅: 650ピクセル;
                高さ: 650px;
                境界線: 1px 黒一色;
                左マージン: 400px;
                境界線の半径: 18px;

            }
            #b2{
                テキスト配置: 中央;
                幅: 300ピクセル;
                高さ: 80px;
                上マージン: 30px;
                フォントファミリ: "Microsoft YaHei";
                フォントサイズ: 20px;
                境界線の半径: 8px;
                アウトライン:なし;
            }
            ul{
                リストスタイルタイプ: なし;

            }
            li{
                フロート: 左;
                左マージン: 40px;
                上マージン: 30px;
            }
            li 入力{
                幅: 100ピクセル;
                高さ: 50px;
                境界線の半径: 8px;
                フォントファミリ: "Microsoft YaHei";
                フォントサイズ: 20px;
                アウトライン:なし;
            }
        li 入力:ホバー{
                背景色:赤;
            }
        </スタイル>

        <スクリプト>
        var beforeNum = 0;
        関数 addNum(a){
             beforeNum=document.getElementById("b2").value;
             var nowNum=beforeNum;
            if(beforeNum!=0){
             nowNum=beforeNum+a;    
            }それ以外{
                if(beforeNum.substring(beforeNum.length-2,beforeNum.length-1)=="."){
                    nowNum=beforeNum+a; 
                }
                 if(a!="+"&&a!="-"&&a!="*"&&a!="/"&&(beforeNum.substring(beforeNum.length-2,beforeNum.length-1)!=".")){
                 nowNum=a;  
                }
            }
            document.getElementById("b2").value=nowNum;
        }


        関数 jisuan(){
            document.getElementById("b2").value=eval(document.getElementById("b2").value);
        }

        関数clearNum(){
            ドキュメントの要素IDを取得する("b2")。値=0;
        }

        関数 backAgain(){
            beforeNum=document.getElementById("b2").value;
            if(beforeNum.length!=1){
            document.getElementById("b2").value=beforeNum.substring(0,beforeNum.length-1);
            }そうでない場合(beforeNum.length==1){
                ドキュメント.getElementById("b2").value=0;
            }
        }
        関数addPoint(b){
            beforeNum=document.getElementById("b2").value;
            if((beforeNum.indexOf(".")!=beforeNum.length-1)){
                document.getElementById("b2").value=beforeNum+b;
            }
        }
        関数 offCl(){
            document.getElementById("b2").value="";
        }
        </スクリプト>
    </head>
    <本文>
        <div id="b1">
            <p style="font-size: 20px;">オンラインのシンプルな計算機</p>
            <div><input id="b2" name="wenben" value="0"/></div>
            <div>
                <ul>

                    <li><input type="button" value="1" onclick="addNum(this.value);"/></li>
                    <li><input type="button" value="2" onclick="addNum(this.value);"/></li>
                    <li><input type="button" value="3" onclick="addNum(this.value);"/></li>
                    <li><input type="button" value="4" onclick="addNum(this.value);"/></li>
                    </ul>
                <ul>
                    <li><input type="button" value="5" onclick="addNum(this.value);"/></li>
                    <li><input type="button" value="6" onclick="addNum(this.value);"/></li>
                    <li><input type="button" value="7" onclick="addNum(this.value);"/></li>
                    <li><input type="button" value="8" onclick="addNum(this.value);"/></li>
                    </ul>
                <ul>
                    <li><input type="button" value="9" onclick="addNum(this.value);"/></li>
                    <li><input type="button" value="0" onclick="addNum(this.value);"/></li>
                    <li><input type="button" value="+" onclick="addNum(this.value);"/></li>
                    <li><input type="button" value="-" onclick="addNum(this.value);"/></li>
                </ul>
                    <ul>
                    <li><input type="button" value="*" onclick="addNum(this.value);"/></li>
                    <li><input type="button" value="/" onclick="addNum(this.value);"/></li>
                    <li><input type="button" value="." onclick="addPoint(this.value);"/></li>
                    <li><input type="button" value="=" onclick="jisuan();"/></li>
                </ul>
                </ul>
                    <ul>
                    <li><input type="button" value="戻る" onclick="backAgain();"/></li>
                    <li><input type="button" value="クリア" onclick="clearNum();"/></li>
                    <li><input type="button" value="シャットダウン" onclick="offCl();"/></li>
                </ul>
            </div>
        </div>
    </本文>
</html>

コード実行の効果図。

さらに、ブロガーは js 関数を記述する際に一連のアルゴリズム判定を実行し、いくつかの非標準アルゴリズムを除外しました。興味があれば、これらのアルゴリズム検証を拡張することができます。何かアイデアや提案があれば、ブロガーとコミュニケーションを取ることができます。

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

以下もご興味があるかもしれません:
  • HTML+JS に基づくシンプルな年齢計算ツールの実装
  • ネイティブ JavaScript を使用した Web 計算機の実装
  • JavaScriptで計算機機能を実現するプロセスの詳細な説明
  • JavaScriptはシンプルな計算機能を実装します
  • 計算機機能を実現するjsバージョン
  • JavaScript で簡単な計算機を実装する
  • JavaScript を使用した Web 計算機の作成
  • JavaScript の例 - 計算機の実装

<<:  Linux で特定のユーザーまたはユーザー グループに対して SSH を有効または無効にする方法

>>:  MySQL 5.7 および 8.0 データベースのルート パスワードを忘れた場合の解決策

推薦する

MySQL 8.0.20 winx64 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.20 winx64 のインストールと設定方法を次のように説明します...

CSS を使用して物流の進行状況のスタイルを実装するためのサンプルコード

効果: CSS スタイル: <スタイル タイプ="text/css">...

いくつかの CSS3 タグの短縮形 (推奨)

border-radius: CSS3 丸い角構文: border-radius: 25px;楕円...

GDBデバッグMySQL実戦ソースコードコンパイルとインストール

ソースコードをダウンロード git クローン https://github.com/mysql/my...

Vue.jsはシンプルなタイマー機能を実装します

この記事では、参考までに、簡単なタイマー機能を実装するためのvue.jsの具体的なコードを紹介します...

MySQL で結合を使用して SQL を最適化する方法の詳細な説明

0. 以下のテストに関連する表を準備する関連するテーブル作成ステートメントについては、https:/...

リクエスト IP の最後のセグメントに基づいてトラフィックを分割するように Nginx を構成する方法

これは主に、場所パラメータのif判断の設定ジャンプです。迂回により、サーバーの負荷と圧力を軽減できま...

MySqlデータベースをバックアップするいくつかの方法

mysqldump ツールのバックアップデータベース全体をバックアップする $> mysqld...

RoughViz を使用して Vue.js でスケッチされたチャートを視覚化する方法

導入チャートは、データ セットを読みやすくし、その各部分を区別しやすくするために使用されるデータのグ...

INS と DEL を使用してドキュメントの変更をマークする方法の詳細な説明

ins と del は、HTML 4.0 で導入され、文書の作成時に作成者が共同作業できるようにし、...

JS で if 判定をスムーズに行う方法

目次序文コードの実装アイデア 1アイデア2要約する参照ドキュメント序文プロジェクト内の小さな要件ポイ...

Docker で最初のアプリケーションをデプロイする方法

前回の記事では、Docker Desktop をインストールし、Kubernetes を有効にしまし...

TypeScript 3.7 で注目すべき 3 つの新機能について簡単に説明します。

目次序文オプションの連鎖ヌル結合呼び出されていない関数のチェック他の序文TypeScript 3.7...

今日は、珍しいけれど役に立つJSテクニックをいくつか紹介します

1. 戻るボタンhistory.back() を使用してブラウザの「戻る」ボタンを作成します。 &l...