位置: 编程技术 - 正文

JS 实现计算器详解及实例代码(一)(js实现计算器代码)

编辑:rootadmin

推荐整理分享JS 实现计算器详解及实例代码(一)(js实现计算器代码),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js做计算器代码,js写计算器的思路,js写计算器的思路,js计算器函数,如何用js实现一个简单的计算器,js写计算器的思路,js 实现计算器详细讲解,js 实现计算器详细讲解,内容如对您有帮助,希望把文章链接给更多的朋友!

Javascript 实现计算器:

系列文章:

JS 实现计算器详解及实例代码(一)

Javascript 实现计算器时间功能详解及实例(二)

小型JavaScript计算器

自己寻思出的解决方案,比较笨拙的方法,虽然完成了但是还有不少bug,用的方法也不是最有效的,基本功能算是完成了,一些小的细节地方也考虑到了,但是还有其他的细节需要处理。

总体设计思路是,先画草图 -> 设计UI -> 编写UI代码 -> 编写CSS -> 编写JS逻辑代码;

面板(main-board)

面板整体尺寸设计

标题栏(board-title)

字体: font: px/px “Comic Sans MS”, “微软雅黑”; 宽高:(%, px);

屏显区(board-result)

数字显示区(result-up): 表达式显示区(result-down):

按钮区(board-keys),使用表格完成,然后给每个td添加onclick事件

完成界面

导入新字体

代码分析

代码组织结构

计算器对象:Calculator;

JS 实现计算器详解及实例代码(一)(js实现计算器代码)

计算器属性:

bdResult: 计算器面板上的屏显区DOM对象; operator:操作符数组,包括'+,-,×,÷,='; digits:有效数字字符,包括'0-9'和点'.'; dot, equal, zero:'.', ‘=', ‘0'对应三个字符,点,等号,字符'0'; digit:屏显区上层的显示的当前输入的数字; expression:屏显区下层的显示的输入的数字和操作符组成的表达式; resSpan:屏显区上层的显示当前数字的span对象; resDown:屏显区下层的显示表达式的div对象; last:上一次输入的按钮内容; allDigits:用表达式解析出来的表达式中所有的有效数字; ops:用表达式字符串解析出来的表达式中所有的操作符; hasEqual:判断是否按了'='等号的标识符; lastRes:上一次计算出来的结果[TODO],尚未用到,待实现可以连续计算;

计算器方法:

init:计算器初始化方法; addTdClick:给每个td即计算器按钮添加点击事件; calculatorClickEvent:点击事件; btnClickHanlder:点击事件处理函数; showCurrRes:处理屏显区上层和下层将要显示的内容; showText:将通过showCurrRes处理的结果显示出来; addZero:对表达式前面加'0'操作; calResult:计算结果; clearData:清空数据; hasOperator:判断表达式中是否有操作符; isOperator:判断当前字符是否是操作符; delHeadZero:删除表达式开头的'0';

辅助方法

getResSpan:获取屏显上层的span对象; $tag:根据标签名去获取标签对象; $:根据id去获取DOM对象;

代码逻辑

使用方法

引入Calculator.js文件(在编写完UI的基础上) 创建对象并初始化:new Calculator().init();

计算器对象

添加点击事件(注意this在闭包里的引用问题)

计算器点击事件处理入口

计算器点击事件处理程序

处理将要显示的表达式和当前输入的数字

将处理结果显示到屏显区

计算结果函数

清空数据

辅助函数

处理表达式开头的'0'问题(第一个按钮是0键或者第一个是小于1的浮点数,表达式需要补零;)

开头去零函数

判断字符串里是否含有操作符

其他函数

问题

文字底部显示:通过设置行高处理; 通过一次性解析表达式需要考虑表达式开头是否需要'0'存在;

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

React Router基础使用 React是个技术栈,单单使用React很难构建复杂的Web应用程序,很多情况下我们需要引入其他相关的技术ReactRouter是React的路由库,保持相关页面部件与URL间

原生js实现节日时间倒计时功能 知识要点1.实现原理:用结束时间-当前时间=时间差当前时间每过1秒时间差自然也就少了1秒所以要1秒更新一次当前时间就达到了倒计时的效果2.需要注

前端编码规范(3)JavaScript 开发规范 JavaScript规范变量声明总是使用var来声明变量。如不指定var,变量将被隐式地声明为全局变量,这将对变量难以控制。如果没有声明,变量处于什么定义

标签: js实现计算器代码

本文链接地址:https://www.jiuchutong.com/biancheng/376039.html 转载请保留说明!

上一篇:javascript 注释代码的几种方法总结(js注释方法)

下一篇:React Router基础使用(react-router react-router-dom)

  • 代开专用发票需要交城建税吗
  • 高新企业收到政府补贴怎么做账
  • 培训费用属于
  • 劳务外包可以差额纳税吗
  • 出口的港杂费包括哪些
  • 结转发出材料会计分录
  • 个人购买商业保险怎么抵扣个税
  • 计划成本下存货盘盈
  • 固定资产租入租金计入什么科目
  • 资产报废变现收入应开具哪种发票
  • 公司成立初期费用入账
  • 利息费用需要取消吗
  • 发票金额开错说明如何书写?
  • 管理费用进项抵扣比例是多少?怎么算
  • 营改增通知及有关部门规定的税收优惠政策
  • 三证合一办完后的流程
  • 一般纳税人能开3个点的专票吗
  • 营改增后如何对建安企业进行税务稽查
  • 免税投资背后的风险,你都清楚吗?
  • 外贸企业出口收入怎么账务处理
  • 个人独资企业出资额是注册资本吗
  • 网络招聘费计入什么会计科目
  • 律师费能计入办公费用吗
  • 存货成本要加上税费吗
  • 公司抵押贷款的担保人
  • 财务会计制度
  • deepin声音
  • 民办非企业单位是什么企业类型
  • 未分配利润转增股本规定
  • macOS Big Sur 11.3 公开测试版正式推送(附更新内容)
  • 中文最早出现的时期
  • ubuntu npm安装
  • php数组内容替换
  • php连接mysql数据库步骤正确的是
  • php导出表格
  • 待处理财产损益期末结转到哪里
  • 租赁合同印花税怎么申报缴纳
  • 使用二氧化碳灭火器时人应该站在什么位置
  • 公司购买基金入什么科目
  • 股权投资都有哪些
  • SQLServer 2008中通过DBCC OPENTRAN和会话查询事务
  • 资产负债表中的货币资金包括哪些
  • 资产负债表调整事项
  • 小规模纳税人企业所得税2023
  • 退回企业所得税的账务处理
  • 农产品税率2020年计算
  • 管理人员工资结构
  • 认证固定资产发票如何入账
  • 门面转让费做账怎么做
  • 农业保险赔付率数据查询
  • 人民币报关退税流程
  • 农民工工资从专户里发放工资需要甲方盖章吗
  • 支付中标服务费借款情况说明怎么写
  • 小规模纳税人的认定标准是什么
  • 会计建账的步骤
  • 库存商品记账
  • 商业企业可将商品分为哪三类
  • sql server中的文件位置可以很灵活
  • services.exe修改注册表
  • macbookair如何隐藏文件
  • userint32.exe - userint32是什么进程
  • 微软停止对xp的操作
  • win8如何开启蓝牙
  • win10系统自带的浏览器叫什么
  • win7服务在哪里打开
  • Linux dpkg-query 命令用法详解(Debian Linux中软件包的查询工具)
  • Ubuntu 下搭建网站服务器
  • javascript零基础学要学多久
  • jQuery使用ajax方法解析返回的json数据功能示例
  • node.js deno
  • css中列表样式
  • unity 替代
  • &&在js中
  • Javascript 字符串拼接
  • android 属性动画原理
  • js动态生成html页面
  • 高博应诺官网
  • 临时占地耕地占用税纳税义务发生时间
  • 非房地产企业土增税扣除有哪些
  • 医保电子凭证怎么激活
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设