シンプルな計算機を実装するためのネイティブ 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 データベースのルート パスワードを忘れた場合の解決策

推薦する

VMware 15 を使用して仮想マシンをインストールし、CentOS 8 を使用する詳細な手順

序文:現在、Linux と .Net Core を学習しており、クロスプラットフォームの知識を学んで...

時点に基づくMySQLクイックリカバリソリューション

なぜこのような記事を書いたかというと、数日前の夜、仕事が終わろうとしていたときに、業務側で突然、テー...

ウェブデザインの概要

<br />1998年に最初の個人ページが誕生してから2008年の今日まで、デザイン業界...

JavaScriptにおけるこのポインティング問題の詳細な説明

序文信じてください。この記事の 7️⃣ ステップを覚えておけば、JS の this リファレンスを完...

Vueは秒殺しのカウントダウンコンポーネントを実装する

この記事では、2番目のキルカウントダウンコンポーネントを実装するためのVueの具体的なコードを参考ま...

Nginx Httpモジュールシリーズにおけるautoindexモジュールの具体的な使用法

ブラウザ モジュールの主な機能は、http リクエスト ヘッダーの「User-Agent」の値とブラ...

Vueの子コンポーネントが親コンポーネントのメソッドを呼び出す場合の詳細な説明

1. 子コンポーネントのthis.$parent.eventを通じて親コンポーネントメソッドを直接呼...

Promise カプセル化 wx.request メソッド

前回の記事では、Promise を使用して小さなプログラム wx.request をカプセル化する実...

CSS3の3D効果を使って立方体を作成する

CSS3 の 3D 効果を使用して立方体を作成する方法を学ぶと、3D シーンの回転と変位のプロパティ...

MySQLでスケジュールされたタスクを設定する方法の分析

この記事では、例を使用して、MySQL でスケジュールされたタスクを設定する方法について説明します。...

JavaScriptのループの違いについての詳細な説明

目次序文列挙可能なプロパティ反復可能なオブジェクトforEachメソッドとmapメソッドチェーン呼び...

JS関数の呼び出し、適用、バインドの超詳細な方法

目次JS 関数呼び出し、適用、バインドメソッド1. call() メソッド1. call() メソッ...

MySQL のレイテンシ問題とデータフラッシュ戦略プロセスの分析

目次1. MySQLレプリケーションプロセス2. MySQLの遅延問題の分析3. プロモーション期間...

複雑なウェブサイトのナビゲーションを簡素化

<br />ナビゲーション設計は構造設計における主要なタスクの 1 つです。ソフトウェア...

JS の配列トラバーサルについて、一般的なループをいくつ知っていますか?

序文基本的なデータ構造として、配列とオブジェクトはさまざまなプログラミング言語で重要な役割を果たしま...