实现计算机等号功能js,JS实现计算器详解及实例代码(一).pdf

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

Javascript 实实现现计计算算器器::

系列文章:

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

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

小小型型JavaScript计计算算器器

自己寻思出 解决方案,比较笨拙 方法,虽然完成了但是还有不少bug ,用 方法也不是最有效 ,基本功能算是完成了,一

些小 细节地方也考虑到了,但是还有其他 细节需要处理。

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

面面板板(main-board)

面板整体尺寸设计

标题栏(board-title)

字体: font: 30px/50px “Co ic Sans MS”, “微软雅黑”;

宽高:(100%, 50px);

屏显区(board-result)

数字显示区(result-up):

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

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

完成界面

导入新字体

// main.css

@font-face {

font-family: Lovelo-Black;/×定义font 名字×/

src: url('font/Lovelo Black.otf ');/*把下载 字体文件引入进来×/

代码分析

代码组织结构

计算器对象:Calculator;

计算器属性:

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.j s文件(在编写完UI 基础上)

创建对象并初始化:new Calculator().init();

计算器对象

// 计算器对象

function Calculator() {

// 私有属性

this.bdResult = $("board-result"); // 计算机面板结果显示区对象

this.operator = ['+ ', '-', '×', '÷ ', '='];

this.digits = ['0 ', '1', '2', '3', '4 ', '5', '6', '7', '8'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值