返回顶部
首页 > 资讯 > 前端开发 > JavaScript >js版实现计算器功能
  • 441
分享到

js版实现计算器功能

2024-04-02 19:04:59 441人浏览 薄情痞子
摘要

本文实例为大家分享了js实现计算器功能的具体代码,供大家参考,具体内容如下 在老师的带领下完成了这个简单的计算器,这是一个神奇的过程,计算器的基本功能都是有的。虽然是个简单的计算器,

本文实例为大家分享了js实现计算器功能的具体代码,供大家参考,具体内容如下

在老师的带领下完成了这个简单的计算器,这是一个神奇的过程,计算器的基本功能都是有的。虽然是个简单的计算器,但对初学者来说,还是需要强大的逻辑判断能力,里面有很多的条件,作为开发者要不断的寻找设计里的bug,不断地完善用户的需求,而这些都需要清晰的逻辑推理和判断,我有点头大了。


<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>计算器</title>
    <style>
        *{
            padding:0;
            margin:0;
        }
        table{
            width:400px;
            margin:auto;
            border:1px solid silver;
            border-collapse: collapse;
        }
       td {
           width: 100px;
           border: 1px solid #525252;


       }
        td input{
            width:98.7%;
            height:60px;
            outline: none;
            text-align: right;
            font-size: 20px;
            background: rgba(251, 255, 227, 0.81);


        }
        td button{
            width:100%;
            height:60px;
            font-size: 22px;
            background: rgba(223, 255, 243, 0.81);
        }
    </style>
</head>
<body>
<table>
    <tr>
        <td colspan="4" ><input  id="text" type="text" value="0"  /></td>
    </tr>
    <tr>
        <td colspan="2"><button class="btn">del</button></td>
        <td colspan="2"><button class="btn">c</button></td>
    </tr>
    <tr>
        <td><button class="btn">9</button></td>
        <td><button class="btn">8</button></td>
        <td><button class="btn">7</button></td>
        <td><button class="btn">+</button></td>
    </tr>
    <tr>
        <td><button class="btn">6</button></td>
        <td><button class="btn">5</button></td>
        <td><button class="btn">4</button></td>
        <td><button class="btn">-</button></td>
    </tr>
    <tr>
        <td><button class="btn">3</button></td>
        <td><button class="btn">2</button></td>
        <td><button class="btn">1</button></td>
        <td><button class="btn">*</button></td>
    </tr>
    <tr>
        <td><button class="btn">0</button></td>
        <td><button class="btn">.</button></td>
        <td><button class="btn">=</button></td>
        <td><button class="btn">/</button></td>
    </tr>
</table>
<!--<span id="m">8</span>-->
<script>
   
    //获取按钮
    var buttonal=document.getElementsByClassName ("btn");
    var textal=document.getElementById("text");
    var res=[];  //定义一个数组存储输入的值
    var label=false;
    for(var i=0;i<buttonal.length;i++){
        buttonal [i].onclick=addclick;
        function addclick(){
            //输入为数字或者为“.”
            if(!isNaN(this.innerHTML) || this.innerHTML=="."){
                //文本框初值不为0
                label = true;
                if(textal.value!== "0"){
                    //文本框中含有“.”
                    if(textal.value.indexOf(".")!==-1){
                        //处理点重复的问题   文本框里面有点 不上去点(用户按的数字 得加  用户按的是点 不加)
                        //输入"."时
                        if(this.innerHTML!== "."){
                            textal.value+=this.innerHTML;
                        }
                    }
                    else{
                        textal.value+=this.innerHTML;
                    }
                }
                //文本框初值为0
                else{
                  if(this.innerHTML =="."){
                      textal.value="0"+this.innerHTML ;
                  }
                  else{
                      textal.value=this.innerHTML;
                  }
                }
            }
            //非数字
            else{
              switch(this.innerHTML ) {
                  case "+" :save(this);
                            break;
                  case "-" :save(this);
                            break;
                  case "/" :save(this);
                            break;
                  case "*":save(this);
                            break;
                  case "=":
                            res.push(textal.value);
                            var result=eval(res.join(""));
                            if(result =="Infinity"){
                             remove_add ("remove");
                            }
                            textal.value=result==Infinity?"除数不能为零":result;
                            //console.log(res.join(""));
                            res=[];
                            break;
                  case "del":
                            //从后往前一个一个的减数字  substr(start,count)  substring(start,end) end不取
                             textal.value = textal.value.length==1 ? "0":textal.value.substr(0,textal.value.length-1);
                             break;
                  case "c":
                             textal.value="0";
                            res=[];
                            remove_add("add");
                            break;
              }
            }
        }
    }
    function save(mini){
        //清屏之前存储用户按的值
       // 确认一个条件  用户是连续按符号  还是数字+符号
        if(!label){   //连续两次按符号时
            res[res.length-1]=mini.innerHTML ;  //第二次按的符号替代第一次的
        }
        else{
            res.push(textal.value );
            res.push(mini.innerHTML );
        }
        textal.value="0";
        label=false;
    }

    //卸载除c以外的所有元素的事件
     function remove_add(p){
         for(var i=0;i<buttonal.length;i++){
            if(p == "add"){
                buttonal[i].onclick = addclick;
            }
            else{
                if(buttonal[i].innerHTML!="c"){
                    buttonal[i].onclick = null;
                }
            }
         }
     }

</script>
</body>
</html>

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: js版实现计算器功能

本文链接: https://lsjlt.com/news/136037.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • js版实现计算器功能
    本文实例为大家分享了js实现计算器功能的具体代码,供大家参考,具体内容如下 在老师的带领下完成了这个简单的计算器,这是一个神奇的过程,计算器的基本功能都是有的。虽然是个简单的计算器,...
    99+
    2024-04-02
  • js+css实现计算器功能
    本文实例为大家分享了js+css实现计算器功能的具体代码,供大家参考,具体内容如下 目前仅实现了最基础的运算功能 (因为是js的运算内核,有些小数点计算并不准确,懒得去做去小数点后几...
    99+
    2024-04-02
  • js实现计算器和计时器功能
    本文实例为大家分享了js实现计算器和计时器的具体代码,供大家参考,具体内容如下 完成简单的计算器 <!DOCTYPE html> <html>     <...
    99+
    2024-04-02
  • C#实现计算器功能(winform版)
    本文实例为大家分享了C#实现计算器功能的具体代码,供大家参考,具体内容如下 代码: Random rad = new Random(); // 实例化随机对象         pr...
    99+
    2024-04-02
  • js中如何实现计算器功能
    这篇文章将为大家详细讲解有关js中如何实现计算器功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码如下:<!DOCTYPE html> ...
    99+
    2024-04-02
  • js如何实现日期计算器功能
    这篇文章主要为大家展示了“js如何实现日期计算器功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js如何实现日期计算器功能”这篇文章吧。日期计算器html代码...
    99+
    2024-04-02
  • 原生JS实现简单计算器功能
    本文实例为大家分享了JS实现简单计算器功能的具体代码,供大家参考,具体内容如下 使用html和css写出计算器的基本结构和样式,用原生JS实现计算器的加减乘除运算功能,只能计算简单的...
    99+
    2024-04-02
  • js如何实现简单的计算器功能
    这篇文章主要介绍js如何实现简单的计算器功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!示例代码:<!DOCTYPE html>...
    99+
    2024-04-02
  • JavaScript实现网页版简易计算器功能
    本文实例为大家分享了JavaScript实现网页版计算器功能的具体代码,供大家参考,具体内容如下 运行效果 运行:直接将下面的代码放到任意文本文件中,文件后缀名改为.html,然后...
    99+
    2024-04-02
  • 原生JS怎么实现简单计算器功能
    本篇内容主要讲解“原生JS怎么实现简单计算器功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“原生JS怎么实现简单计算器功能”吧!使用html和css写出计算器的基本结构和样式,用原生JS实现计...
    99+
    2023-06-29
  • IO实现计算器功能
    本文实例为大家分享了IO实现计算器功能的具体代码,供大家参考,具体内容如下 代码: // // ViewController.m // Fraction_Calculato...
    99+
    2022-05-27
    IOS 计算器
  • C++实现计算器功能
    本文实例为大家分享了C++实现计算器功能的具体代码,供大家参考,具体内容如下 说明: 前面简单尝试过计算器,只能支持加减乘除,这次完善了计算器的功能:支持带括号的表达式;支持&plu...
    99+
    2024-04-02
  • C#实现计算器功能
    本文实例为大家分享了C#实现计算器功能的具体代码,供大家参考,具体内容如下 在刚刚接触c#的时候,就想做一个简单加减乘除计算器。这就是目标,可惜一直没有动手去做,今天特意把它简单做了...
    99+
    2024-04-02
  • Python实现计算器功能
    #!/usr/bin/python # -*- coding:UTF-8 -*- def sum(options,x,y):     t = options     if(t == "+"):...
    99+
    2023-01-31
    计算器 功能 Python
  • js实现简易计数器功能
    本文实例为大家分享了js实现简易计数器功能的具体代码,供大家参考,具体内容如下 实现简易计数器 可进行三个操作,开始计数,暂停计数,复位操作 (使用计时函数事件) <html&...
    99+
    2022-11-13
    js 计数器
  • Python tkinter实现计算器功能
    本文实例为大家分享了Python tkinter实现计算器功能的具体代码,供大家参考,具体内容如下 python版本:3.5 一.计算器的功能描述 今天我们用python来实现一个计...
    99+
    2024-04-02
  • jquery实现计算器小功能
    本文实例为大家分享了jquery实现计算器功能的具体代码,供大家参考,具体内容如下 用jquery实现计算器对于我来说有三个难点 1.单纯的html页面,怎么实现计算2.显示屏用什么...
    99+
    2024-04-02
  • python实现计算器小功能
    本文实例为大家分享了python实现计算器功能的具体代码,供大家参考,具体内容如下 1. 案例介绍 本例利用 Python 开发一个可以进行简单的四则运算的图形化计算器,会用到 Tk...
    99+
    2024-04-02
  • iOS实现计算器小功能
    本文实例为大家分享了iOS实现计算器小功能,供大家参考,具体内容如下 本文利用ios实现计算器app,后期将用mvc结构重构 import UIKit class CalculVi...
    99+
    2024-04-02
  • iOS开发实现计算器功能
    本文实例为大家分享了iOS实现计算器功能的具体代码,供大家参考,具体内容如下 效果图 Masonry 使用数组来自动约束 NSArray *buttonArrayOne = @...
    99+
    2022-05-28
    iOS 计算器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作