面向对象思想实现简易计算器
2017-11-04 06:30
281 查看
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> body{ background: #e2e2e2; } *{ margin: 10px; } .wrap{ margin:200px auto; width: 600px; } </style> </head> <body> <div class="wrap"> <div id="top"> <input type="text" id="former"> <span id="operator"></span> <input type="text" id="laster"> <span>=</span> <span class="result"></span> </div> <div id="bottom"> <button id="add">+</button> <button id="subtract">-</button> <button id="multiply">×</button> <button id="divide">÷</button> <button id="mod">%</button> <button id="reverse">1/x</button> </div> </div> <script type="text/javascript"> var operation; (function(){ var calculator={ former:document.getElementById('former'), laster:document.getElementById('laster'), operator:document.getElementById('operator'), result:document.querySelector('.result'), btns:document.getElementsByTagName('button'), bottom:document.getElementById('bottom') } var operate={ add:function(num1,num2){ return num1+num2; }, subtract:function(num1,num2){ return num1-num2; }, multiply:function(num1,num2){ return num1*num2; }, divide:function(num1,num2){ return num1/num2; }, addoperate:function(name,fn){ if(!operate[name]){ operate[name]=fn; }else{ throw new Error('已有该方法'); } } } calculator.bottom.onclick=function(){ changeOperator(event.target.innerHTML); changeResult(calculate(event.target.id,+calculator.former.value,+calculator.laster.value)); } function changeOperator(content){ calculator.operator.innerHTML=content; } function changeResult(content){ calculator.result.innerHTML=content; } function calculate(name){ return operate[name](...[].slice.call(arguments,1)); } //接口 operation=operate.addoperate; })(); operation('mod',function(num1,num2){ return num1%num2; }); operation('reverse',function(num1){ return 1/num1; }); </script> </body> </html>
相关文章推荐
- 数据结构之循环队列(面向对象思想c++实现)
- 用Java面向对象思想实现一个微博的功能(未完)
- 用C实现面向对象思想
- golang面向对象思想和实现
- linux内核设计与实现思想 – C风格的面向对象
- linux内核中用C语言实现面向对象思想
- OC学习--<猜拳游戏> 之 通过面向对象思想实现 2.0版本
- C语言里用结构体和指针函数实现面向对象思想
- OC学习--<猜拳游戏> 之 通过面向对象思想实现
- 【Linux开发】linux设备驱动归纳总结(三):3.设备驱动面向对象思想和lseek的实现
- OC学习--<猜拳游戏> 之 通过面向对象思想实现 2.0版本
- linux内核设计与实现思想 – C风格的面向对象
- C语言实现面向对象思想
- OC学习--<猜拳游戏> 之 通过面向对象思想实现
- 面向对象思想,实现模块封装
- (Java实现) HDOJ 2023 求平均成绩 面向对象设计思想
- Java控制台实现计算器[面向对象思想-02]
- linux设备驱动归纳总结(三):3.设备驱动面向对象思想和lseek的实现【转】
- .使用面向对象思想,输出员工信息并计算员工的工资。实现过程为:定义一个部门(Department)类,该类有部门编号(Id)、部门名称(Name)属性; 再定义一个员工(Employee)类,该类的属
- linux设备驱动归纳总结(三):3.设备驱动面向对象思想和lseek的实现