JavaScript实现计算器功能
截图 :

cal.js
- var Class = {} ;
- Class.calculation = function(){
- var calculation = {} ;
- calculation.result = 0 ;
- calculation.calculate = function(num1,num2){} ;
- calculation.getResult = function(){
- return this.result ;
- } ;
- return calculation ;
- } ;
- Class.add = function(){
- var add = Class.calculation() ;
- add.calculate = function(num1,num2){
- this.result = num1 + num2 ;
- } ;
- return add ;
- }
- Class.subtraction = function(){
- var subtraction = Class.calculation() ;
- subtraction.calculate = function(num1,num2){
- this.result = num1 - num2 ;
- } ;
- return subtraction ;
- }
- Class.multiply = function(){
- var multiply = Class.calculation() ;
- multiply.calculate = function(num1,num2){
- this.result = num1 * num2 ;
- } ;
- return multiply ;
- }
- Class.divide = function(){
- var divide = Class.calculation() ;
- divide.calculate = function(num1,num2){
- this.result = num1 / num2 ;
- } ;
- return divide ;
- }
- Class.calculator = function(num1,num2,op){
- var obj = null ;
- var num1 = parseInt(num1) || 0 ;
- var num2 = parseInt(num2) || 0 ;
- if("+" == op){
- obj = Class.add() ;
- }
- else if("-" == op){
- obj = Class.subtraction() ;
- }
- else if("*" == op){
- obj = Class.multiply() ;
- }
- else if("/" == op){
- if(0 == num2){
- alert("除数不能为零!") ;
- return ;
- }
- obj = Class.divide() ;
- }
- else{
- alert("无效的" + op + "操作符!") ;
- return ;
- }
- obj.calculate(num1,num2) ;
- alert("计算结果:" + obj.getResult()) ;
- }
测试 :
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
- <HTML>
- <HEAD>
- <TITLE>JavaScript面向对象</TITLE>
- <script type="text/javascript" src="js-lib/cal.js"></script>
- <script type="text/javascript">
- window.onload = function(){
- document.getElementById("command").onclick = function(){
- var n1 = document.getElementById("n1").value ;
- var opera = document.getElementById("opera").value ;
- var n2 = document.getElementById("n2").value ;
- Class.calculator(n1,n2,opera) ;
- }
- } ;
- </script>
- </HEAD>
- <BODY>
- 操作数1 : <input type="text" id="n1" /></br></br>
- 操作符号 : <input size="4" type="text" id="opera" /></br></br>
- 操作数2 : <input type="text" id="n2" /></br></br>
- <input type="button" id="command" value="计算" />
- </BODY>
- </HTML>
JavaScript实现计算器功能的更多相关文章
- JS事件 编程练习-自制计算器 使用JS完成一个简单的计算器功能。实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除。
编程练习 使用JS完成一个简单的计算器功能.实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除. 提示:获取元素的值设置和获取方法为:例:赋值:document.getElement ...
- JavaScript编写计算器的发展史
JavaScript编写计算器的发展史: 编写一个普通的四则运算: <!DOCTYPE html> <html lang="en"> <head> ...
- 完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能
#!/bin/usr/env python#coding=utf-8'''完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能'''try: a=int(raw_input(" ...
- javaWeb 使用 jsp 和 javaBean 实现计算器功能
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- C#实现按键计算器功能
C#实现按键计算器功能 (一次失败的编程) 界面: 代码如下: using System; using System.Collections.Generic; using System.Compone ...
- javascript 自动填充功能
javascript 自动填充功能 javascript: (function(){ $("#zipcode").val("zip");$("#pho ...
- javascript的倒计时功能中newData().getTime()在iOS下会报错问题解决
javascript的倒计时功能中newData().getTime()在iOS下会报错问题解决 在做移动端时间转化为时间戳时,遇到了一个问题,安卓手机上访问时,能拿到时间戳,从而正确转换时间,而在i ...
- javascript 页面导出功能
javascript 页面导出功能 <a class="btn" href="javascript:void(0);" onclick="win ...
- JavaScript ES6 核心功能一览(转)
原文地址:Overview of JavaScript ES6 features (a.k.a ECMAScript 6 and ES2015+) 原文作者:Adrian Mejia 译文出自:掘金翻 ...
随机推荐
- Codeforces Round #286 (Div. 1) D. Mr. Kitayuta's Colorful Graph
D - Mr. Kitayuta's Colorful Graph 思路:我是暴力搞过去没有将答案离线,感觉将答案的离线的方法很巧妙.. 对于一个不大于sqrt(n) 的块,我们n^2暴力枚举, 对于 ...
- java.lang.ClassCastException: android.widget.ImageButton异常处理
在调程序时总是出现异常关闭的现象,log显示: 03-26 07:58:09.528: E/AndroidRuntime(398): Caused by: java.lang.ClassCastExc ...
- 【ASP.NET MVC】Ajax提交表单
下面这段代码主要有几个特点: 1.Ajax提交表单 2.表单中有一个<input type="file"/> 3.当选择完图片后,利用AJAX提交表单,并在执行成功后返 ...
- fastadmin iframe 表单提交之后跳转
controller 对应的那个js文件中添加: define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function($, und ...
- GETATTR,DELATTR,SETATTR与GETITEM,SETITEM,DELITEM区别
通过对象.属性的方式触发的是__getattr__,__delattr__,__setattr__ 通过对象['属性']触发__getitem__,__setitem__,__delitem__ cl ...
- scrapy实现多级页面的抓取时使用meta传递item数据的问题(转)
name = 'doubanzufang'start_urls = ['https://www.douban.com/group/tianhezufang/discussion?start=50'] ...
- django celery(QQ蓝鲸)
官方:http://www.celeryproject.org 文档:http://docs.jinkan.org/docs/celery/index.html FAQ:http://docs.cel ...
- WPF常用控件样式( 内含一简单插件式开发示例)
最近离职,离职前面的一份外派然后又外包的工作,总觉得不妥,之后外派的办个入职手续都一再失约,干脆推了.恰逢清明时节,暴雨纷纷,于是打算先休息休息调整下状态,工作的事情还是谨慎点的好,免得影响心情.话说 ...
- [BZOJ4009][HNOI2015]接水果(整体二分)
[HNOI2015]接水果 时间限制:60s 空间限制:512MB 题目描述 风见幽香非常喜欢玩一个叫做 osu!的游戏,其中她最喜欢玩的模式就是接水果. 由于她已经DT FC 了The b ...
- 【BZOJ】2131: 免费的馅饼
2131: 免费的馅饼 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 508 Solved: 310[Submit][Status][Discuss ...