亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用JS實(shí)現(xiàn)簡易計(jì)算器

 更新時(shí)間:2021年06月14日 12:00:16   作者:6+3  
這篇文章主要為大家詳細(xì)介紹了使用JS實(shí)現(xiàn)簡易計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

使用JS完成簡易計(jì)算器,供大家參考,具體內(nèi)容如下

要求:輸入的值只能是數(shù)字,使用正則表達(dá)式
onchange():值改變時(shí)執(zhí)行事件
onblur():鼠標(biāo)移出時(shí)執(zhí)行事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>計(jì)算器</title>
</head>
<body>
    <div style="text-align: center;">
        <input type="text" id="1" onkeyup="this.value=this.value.replace(/[^\d]/g,'') " >
    <select name="select" id="select">
        <option value="null">請選擇</option>
        <option value="0">+</option>
        <option value="1">-</option>
        <option value="2">*</option>
        <option value="3">/</option>
    </select>
    <input type="text" id="2" onkeyup="this.value=this.value.replace(/[^\d]/g,'') ">
    =
    <input type="text" id="3" onkeyup="this.value=this.value.replace(/[^\d]/g,'') "><br><br>
    </div>
    <div style="text-align: center;">
        <input type="button"  id="button"value="計(jì)算">
    </div>
    <script>
        
    function accAdd(arg1,arg2){ 
        var r1,r2,m; 
        try{
            r1=arg1.toString().split(".")[1].length
        }catch(e){
            r1=0
        } 
        try{
            r2=arg2.toString().split(".")[1].length
        }catch(e){
            r2=0
        } 
        m=Math.pow(10,Math.max(r1,r2)) 
        return (arg1*m+arg2*m)/m 
        } 
        Number.prototype.add = function (arg){ 
        return accAdd(arg,this); 
        }


    function Subtr(arg1,arg2){
        var r1,r2,m,n;
 
        try{
            r1=arg1.toString().split(".")[1].length
        }catch(e){
            r1=0
        }
 
        try{
            r2=arg2.toString().split(".")[1].length
        }catch(e){
            r2=0
        }
        m=Math.pow(10,Math.max(r1,r2));
 
     // last modify by deeka
     // 動(dòng)態(tài)控制精度長度
        n=(r1>=r2)?r1:r2;
        return ((arg1*m-arg2*m)/m).toFixed(n);
    }
    function accMul(arg1,arg2)  //乘法
    { 
        var m=0,s1=arg1.toString(),s2=arg2.toString(); 
        try{
            m+=s1.split(".")[1].length
        }catch(e){} 
        try{
            m+=s2.split(".")[1].length
        }catch(e){} 
        return Number(s1.replace(".",""))*Number(s2.replace(".","")) / Math.pow(10,m) 
        } 
 
    //給Number類型增加一個(gè)mul方法,調(diào)用起來更加方便。 
    Number.prototype.mul = function (arg){ 
    return accMul(arg, this); 
    } 

    function accDiv(arg1,arg2){ 
    var t1=0,t2=0,r1,r2; 
    try{
        t1=arg1.toString().split(".")[1].length
    }catch(e){} 
    try{
        t2=arg2.toString().split(".")[1].length
    }catch(e){} 
     with(Math){ 
        r1=Number(arg1.toString().replace(".","")) 
        r2=Number(arg2.toString().replace(".","")) 
        return (r1/r2)*pow(10,t2-t1); 
        } 
    } 
        Number.prototype.div = function (arg){ 
        return accDiv(this, arg); 
    }


        document.getElementById('button').onclick=function(){
            var num1 =document.getElementById('1').value;
            var num2 =document.getElementById('2').value;
            var num3;
            var op =document.getElementById('select').value;
            switch(op){
                case '0':
                    num3= accAdd(num1,num2);
                    break;
                case '1':
                    num3= Subtr(num1,num2) ;
                    break;
                case '2':
                    num3=accMul(num1,num2) ;
                    break;
                case '3':
                    num3=accDiv(num1,num2) ;
                    break;
            }
            document.getElementById('3').value=num3;
        }
       
    </script>

</body>
</html>

效果圖:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 原生js三級聯(lián)動(dòng)的簡單實(shí)現(xiàn)代碼

    原生js三級聯(lián)動(dòng)的簡單實(shí)現(xiàn)代碼

    下面小編就為大家?guī)硪黄鷍s三級聯(lián)動(dòng)的簡單實(shí)現(xiàn)代碼。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • Javascript檢查圖片大小不要讓大圖片撐破頁面

    Javascript檢查圖片大小不要讓大圖片撐破頁面

    用Javascript判斷圖片大小,其實(shí)只要寫一個(gè)簡單的函數(shù)就可以了,使用其他語言進(jìn)行判斷,過程比較復(fù)雜,用 Javascript 判斷輕松搞定
    2014-11-11
  • javascirpt實(shí)現(xiàn)2個(gè)iframe之間傳值的方法

    javascirpt實(shí)現(xiàn)2個(gè)iframe之間傳值的方法

    這篇文章主要介紹了javascirpt實(shí)現(xiàn)2個(gè)iframe之間傳值的方法,涉及javascript針對iframe框架下的頁面元素操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • 詳解js創(chuàng)建對象的幾種方式和對象方法

    詳解js創(chuàng)建對象的幾種方式和對象方法

    這篇文章主要介紹了詳解js創(chuàng)建對象的幾種方式和對象方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 利用JS實(shí)現(xiàn)搶紅包的三種算法

    利用JS實(shí)現(xiàn)搶紅包的三種算法

    對于搶紅包來說最重要的就是隨機(jī)性算法,如何確保每個(gè)人獲得金額是趨向于平均的,也就是有平均的概率去隨機(jī),而盡量避免兩極分化,本文給大家介紹了用JS實(shí)現(xiàn)搶紅包的三種算法,文中有相關(guān)的代碼示例,需要的朋友可以參考下
    2024-03-03
  • javascript ajax 仿百度分頁函數(shù)

    javascript ajax 仿百度分頁函數(shù)

    百度分頁想必大家都知道吧,瀏覽網(wǎng)頁的朋友都應(yīng)該知道,下面有個(gè)小例子使用到了js、ajax等來模仿百度的分頁,感興趣的朋友可以參考下
    2013-10-10
  • ActiveX控件與Javascript之間的交互示例

    ActiveX控件與Javascript之間的交互示例

    這篇文章主要介紹了ActiveX控件如何與Javascript進(jìn)行交互,需要的朋友可以參考下
    2014-06-06
  • JS作用域深度解析

    JS作用域深度解析

    這篇文章主要為大家詳細(xì)介紹了JS作用域,剖析JS的作用域問題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 有趣的JavaScript數(shù)組長度問題代碼說明

    有趣的JavaScript數(shù)組長度問題代碼說明

    有趣的JavaScript數(shù)組代碼示例,學(xué)習(xí)js的朋友可以參考下。注意以下的情況。
    2011-01-01
  • 詳解JavaScript實(shí)現(xiàn)哈希表

    詳解JavaScript實(shí)現(xiàn)哈希表

    哈希表是一種非常重要的數(shù)據(jù)結(jié)構(gòu),幾乎所有的編程語言都有直接或者間接的應(yīng)用這種數(shù)據(jù)結(jié)構(gòu)。本文將為大家介紹通過JavaScript如何實(shí)現(xiàn)哈希表,以及哈希表的一些常用操作,需要的可以參考一下
    2021-12-12

最新評論