JS写简易计算器的原理

1, 变量,
操作数num1,
操作数num2,
临时存储数据tempInput,
运算符operator,
文本lab,

常量:
按钮总数TOTAL,

2,创建场景对象,并添加到舞台。添加方式是按照Json文件名

3,给各按钮添加点击事件
按名字获取组件:getWidgetByName(),
名字通过字符串拼接的形式循环组合 “btn_”+i,所以给按钮起名字时格式要讲究。
添加点击事件的方式:目标.addTouchEventListener(this.回调方法.bind(this),父对象)
完整写法: getWidgetByName(“btn_”+i).addTouchEventListener(this._inputHander.bind(this),this._mainUI);
回调方法名一般以Handle结尾

4,回调事件中要给各个按键设置不同的响应:
回调函数的参数解释:sender可以理解为事件的发起者,type表示事件类型(按钮的按下,移动,抬起,取消等)
首先利用字符串拆分活的按钮图片编号,将其作为按钮名,用一个变量btn_name保存、
如果btn_name值为0-10,表示输入的是数字0-9 和 小数点,调用添加显示数据方法addInputShow():
先将小数点与普通的数字区别开来
判断当前是否已经存在小数点,如果是则后面再输入的小数点给废掉。
判断开始字符是否为0,如果是,且下一位输入的是小数点,则显示为“0.”,否则只显示输入的数字。
如果开始字符不为0,那么就直接在后面拼接。
最后将输入的字符串显示在文本框内

如果btn_name值为11,表示输入的为等号,此时需要显示计算结果。调用showResult()方法:
            计算结果前首先将,当前显示的文本保存为第二个操作数。
            然后清空显示框。
            紧接着,根据操作符计算出对应的结果,并显示。

如果btn_name为12,13,14,15,则分别代表+-*/运算符,调用check_result()保存运算符,同时重置缓存数据,用于保存接下来输入的操作数2.

如果btn_name为18,表示复位,此时将文本框显示内容设置为0;

代码app.js部分:(<>部分的内容是用记事本写时要加的,文本类型为HTML格式)

<html>
<head>
<script>

var HelloWorldLayer = cc.Layer.extend({
    //场景对象
    _mainUI:null,
    //按钮总数
    TOTAL:19,
    //保存输入的数据
    _tempInput:null,
    //文本
    _lab:null,
    //运算符类型
    _tempType:null,
    //第一个数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值