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 译文出自:掘金翻 ...
随机推荐
- Java Switch Statement
Java Switch Java Switch Statement switch语句的执行规则如下 1.从第一个case开始判断,不匹配则跳到下一个case继续判断: 2.遇到brea ...
- 修改input中的placeholder属性的颜色
input::-webkit-input-placeholder{ color:#e8e8e8; } input::-moz-placeholder{ /* Mozilla Firefox 19+ * ...
- 烈焰遮天 cocos 手游mmo 源码 解析
引擎: cocos2.x 代码: c++ 混合 lua 游戏类型: mmo 工程结构: game : 游戏启动地方 gamelogic:接sdk相关,登陆支付统计等 libFramework:主要本游 ...
- Java常用工具类之Excel导出
package com.wazn.learn.util; import java.util.List; import java.util.Map; import org.apache.poi.hssf ...
- Arduino可穿戴教程之第一个程序——上传运行程序(四)
Arduino可穿戴教程之第一个程序——上传运行程序(四) 2.4.5 上传程序 现在所有Arduino IDE的设置都完成了,我们就可以将示例程序上传到板子中了.这非常简单,只需要单击如图2.45 ...
- Openstack关于Regions和Availability Zones
在AWS中有Region和Availability Zones的概念,并且在openstack中也实现了两者,只是不太容易看出来. 此文主要介绍他们的概念和关系,以及在openstack中的实现. 如 ...
- MySQL笔记(一)之新建数据库和数据表
创建数据库 CREATE DATABASE database_name 创建数据表 CREATE TABLE table_name ( 列1 数据类型, 列2 数据类型, 列3 数据类型, .... ...
- 2017四川省赛D题《Dynamic Graph》
题意:给出一个n个点m条边的有向无环图(DAG),初始的时候所有的点都为白色.然后有Q次操作,每次操作要把一个点的颜色改变,白色<->黑色,对于每次操作,输出满足下列点对<u,v&g ...
- 【HDU 6017】 Girls Love 233 (DP)
Girls Love 233 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- 【BZOJ 3308】 3308: 九月的咖啡店 (费用流|二分图最大权匹配)
3308: 九月的咖啡店 Time Limit: 30 Sec Memory Limit: 128 MBSubmit: 244 Solved: 86 Description 深绘里在九份开了一家咖 ...