シンプルな計算機を実装するためのネイティブ 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 5.6.37 winx64 インストール デュアル バージョン mysql ノート

マシンに MySQL バージョン 5.0 がすでに存在する場合は、最新バージョンの MySQL のイ...

MySQL の自動増分 ID (主キー) が不足した場合の解決策

MySQL で使用される自動インクリメント ID には多くの種類があり、各自動インクリメント ID ...

JSデータ型検出のさまざまな方法の概要

目次背景データ型を決定する方法は何ですか? 1. typeof を使用して基本データ型を決定します。...

Centos7 での DNS サーバーの構築の概要

目次1. プロジェクト環境: 2: DNSサーバーの設定i: 前方解析を構成する: ii: 逆解像度...

Dockerはローカルディレクトリとデータボリュームコンテナ操作をマウントします

1. DockerはローカルディレクトリをマウントしますDocker は、ホスト上のディレクトリをイ...

CSSレイアウトにおけるフローティング問題に対する4つの解決策の詳細な説明

1. 原因:サブボックスをフロートに設定した後の効果: 青いボックスをフロートに設定すると、標準のド...

Ubuntu 14.04 で QT5 をインストール、設定、アンインストールするための詳細な手順

1. 以前 QT5.13 バージョンをダウンロードしましたが、インストール後、Qtcreator を...

大量のデータを含むエレメントのシャトルボックスで「すべて選択」をクリックするとスタックする問題の解決方法

目次解決策1: EUIの転送コンポーネントをコピーして変更し、プロジェクトディレクトリに導入する解決...

MySQL アップグレードのベストプラクティス

MySQL 5.7 には、オンライン DDL、マルチソース レプリケーション、拡張された半同期、テー...

MySQL で UTF-8 エンコーディングを使用しないのはなぜですか?

MySQL UTF-8 エンコーディングMySQL は 2003 年のバージョン 4.1 から U...

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

この記事では、MySQL 8.0.15 winx64解凍版のインストールと設定方法を紹介します。具体...

Confluence と jira-software を Docker にデプロイする方法

バージョン: セントロス==7.2 jdk==1.8 合流==6.15.4 jira-ソフトウェア=...

Docker に MySQL と MariaDB をインストールする方法

MySQLとMariaDBの関係MariaDB データベース管理システムは MySQL のブランチで...

4つのReactコンポーネントにおけるDOMスタイル設定の詳細な説明

1. インラインスタイル仮想DOMにインラインスタイルを追加するには、式を使用してスタイルオブジェク...