Javascript计算器

7 8 9 +
4 5 6 -
1 2 3 *
0 = c /

var num0 = null;

var num1 = null;

var symble = null;

var lastclick = null;

var symarr = new Array(); //符号集合

symarr[0] = '+';

symarr[1] = '/';

symarr[2] = '*';

symarr[3] = '-';

symarr[4] = '=';

function number(n){

var numnow = $('#show');

var _exist=$.inArray(lastclick,symarr); //判断上次点击是否为符号

if (numnow.val() == 0 || _exist != -1) {//若显示框为0 或者上次点击为符号,则重新记录显示框

numnow.val($(n).val());

}else{

numnow.val(parseInt(numnow.val()) * 10 +parseInt($(n).val()));

}

lastclick = $(n).val(); // 更新上次点击

}

function calsym(cs){ //符号点击事件响应

var numnow = $('#show');

var _exist=$.inArray(lastclick,symarr);

if (num0 == null && symble == null) { //初始状态

num0 = numnow.val();

symble = $(cs).val();

}else if(num0 != null && num1 == null && _exist !=-1){ // 连续点操作符的处理,及第一次点击操作符处理

symble = $(cs).val();

}else{ //正常计算状态

num1 = numnow.val();

var result = calculate(symble,num0,num1);

symble = $(cs).val(); //上行及本行:先计算之前的运算符及结果,再更新运算符为本次点击

num0 = result;

numnow.val(result);

num1 = null;

}

lastclick = $(cs).val(); // 更新上次点击

}

function clearCal(){ //清空函数

$('#show').val('0');

num0 = null;

num1 = null;

symble = null;

lastclick = null;

}

function calculate(sym,m,n){ //计算并返回结果

var res = null;

m = parseInt(m);

n = parseInt(n);

switch(sym){

case '+':

res = m+n;

break;

case '-':

res = m-n;

break;

case '*':

res = m*n;

break;

case '/':

if (n == 0) {

alert("false");

break;

}

res = m/n;

break;

default:

break;

}

return res;

}

ajax实现简单计算器,一个简单的jQuery计算器实现了连续计算功能相关推荐

  1. php输出计算器,一个简单的在线计算器

    1.[代码][PHP]代码 一个简单的计算器 //如果用户单击了计算按钮才存在表单变量,才能接收表单数据和对数据进行验证 //以下if语句判断是否将表单中的两个操作数提交到本页面,如果没有则不执行 i ...

  2. android 观察者模式的简单demo,一个简单的demo彻底搞懂观察者模式

    介绍 观察者模式也被称为发布-订阅(Publish/Subscribe)模式,它属于行为型模式的一种.观察者模式定义了一种一对多的依赖关系,一个主题对象可被多个观察者对象同时监听.当这个主题对象状态变 ...

  3. python 类的简单应用--一个简单的扑克游戏

    扑克小游戏 学python刚学到类的时候无意间看到有人说作了一个扑克牌的游戏 然后一时兴起试着写了一个简单的比大小的游戏,顺便找一下多年逢赌必输的真相 o.o 下面贴出来的是在python3.6当中运 ...

  4. ajax开发 短期班,一个简单的ajax 来mock数据

    目录结构: 图片.png index.html代码: 查询 var Oinput=document.querySelector("#username"); var Obtn=doc ...

  5. JSP简单练习-一个简单的计数器

    在JSP中,在"<%"和"%>"之间书写的程序代码成为java程序片. 一个JSP页面中可以有多个java程序片.要注意的是,在Java程序片中声明 ...

  6. verilog 简单module_一个简单的verilog小程序

    这是一个verilog单口SRAM的代码,不知道为什么输出总是高阻,请高人指点一下.代码如下modulesram_8_8(wr,rd,din,dout,address,cs);inputwr,rd,c ...

  7. android简单loading,一个简单能用的LoadingDialog

    感谢习惯沉默,我也是受此启发才做了这个项目,虽然之前写过文章,也去他的博客底下评论过,不过时过境迁,现在评论的功能已经被关闭了,还是在项目里感谢一下. LoadingDialog 如何使用 Step ...

  8. c聊天室系统asp ajax,利用AJAX和ASP.NET实现简单聊天室

    利用AJAX和ASP.NET实现简单聊天室 我的第一个简单的Chatroom是用ASP3.0写成的.那无外乎有二个TextBox,他们发送消息 给程序变量然后显示在一个每秒刷新的页面上.在那个时代,一 ...

  9. 多线程爬虫python_一个简单的多线程Python爬虫

    最近想要抓取拉勾网的数据,最开始是使用Scrapy的,但是遇到了下面两个问题: 前端页面是用JS模板引擎生成的 接口主要是用POST提交参数的 目前不会处理使用JS模板引擎生成的HTML页面,用POS ...

最新文章

  1. 开学季,教你用Python画大学教室座位神分区图!网友直呼“中枪”
  2. python错误找回_致命的Python错误:无法从堆栈溢出中恢复。洪水期间Fi
  3. 从源码的角度分析MapReduce的map-input流程
  4. Nginx集群session管理的两种方式
  5. 神奇的 Go init 函数
  6. wamp惯用的php框架_wamp集成环境php多版本搭建(php5.5,php5.6,php7.0.6)
  7. java基础——构造函数小知识点
  8. python坐标系 向量分量_关于Python中的向量相加和numpy中的向量相加效率对比
  9. 工具类与工具函数 —— NextPrime
  10. linux 扫描开放的端口命令,在Linux系统中检查(扫描)开放端口的方法
  11. [Python] 字典 update()函数:在字典中更新 (或加入) 键值对
  12. Oracle、MySql、SQLServer 数据库分页查询语句
  13. SpringCloud
  14. word2016插入公式技巧2
  15. ceph 运维操作 - POOL
  16. java 阿拉伯数字日期转换为中文大写日期方法_java方法转换大写日期及人民币大写转换方式 .txt...
  17. 带通滤波器幅频特性曲线图_滤波器知识,你所要的,都在这里
  18. ubuntu下安装skyeye方法
  19. 垃圾分类之上传一张图片进行测试
  20. 成长笔记(个人心路历程)

热门文章

  1. 华为服务器型号查询,服务器设备型号查询
  2. linux兼容性,Atom 1.23发布:功能增强,兼容性更好
  3. java log4j 文件_java log4j 日志文件
  4. 基于注解的 AOP 配置
  5. 真厉害用python只要50行代码爬取黑丝美眉纯欲高清图
  6. 【PHPWord】图片
  7. java 去掉 时期中的图片,去除图片浅色背景(Java 实现)
  8. python启动jupyter_如何在启动JupyterNotebook时自动执行代码?
  9. 开机f8修复电脑步骤_电脑无法启动,屏幕显示白色小横条,怎么办?可收藏以备不时之需...
  10. mysql5.5数据库名_mysql5.5数据库名