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 译文出自:掘金翻 ...
随机推荐
- Node JVM
Yaroslav Gaponov发布到Github的一个开源项目.用纯Node.js写的JVM.具体的实例和编译.运行过程,请直接看Node JVM在GitHub的主页. GitHub的主页:http ...
- Java 性能优化手册 — 提高 Java 代码性能的各种技巧
转载: Java 性能优化手册 - 提高 Java 代码性能的各种技巧 Java 6,7,8 中的 String.intern - 字符串池 这篇文章将要讨论 Java 6 中是如何实现 String ...
- php中var_dump()函数
var_dump() void var_dump ( mixed expression [, mixed expression [, ...]] ) var_dump()方法是判断一个变量的类型与长度 ...
- SCU 4445 Right turn
模拟. 每次找一下即将要遇到的那个点,这个数据范围可以暴力找,自己的写的时候二分了一下.如果步数大于$4*n$一定是$-1$. #include<bits/stdc++.h> using ...
- FutureTask简单实战
FutureTask是什么? 线程池的实现核心之一是FutureTask.在提交任务时,用户实现的Callable实例task会被包装为FutureTask实例ftask:提交后任务异步执行,无需用户 ...
- openstack多region配置
实验 A机器 10.64.8.171 RegionOne B机器 10.64.8.142 RegionTwo Keytson(这个组件随便放在哪台都可以) openst ...
- 更改paramiko 源码 记录命令实现堡垒机功能
利用paramiko 下的demo可以很容易的实现记录客户在操作客户机时的命令,修改\demos\interactive.py def posix_shell(chan): import select ...
- android studio 安卓工作室 汉化完整版
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 汉化包 百度云盘 下载地址:https://pan.baidu.com/s/1pLjwy ...
- 【BZOJ 2216】【POI 2011】Lightning Conductor
http://www.lydsy.com/JudgeOnline/problem.php?id=2216 学习了一下决策单调性. 这道题决策单调性比较明显,不详细证了. 对于一个决策i,如果在i之前的 ...
- CodeForces 1065E. Side Transmutations 计数
昨天不该早点走的.... 首先操作限制实际上是一个回文限制 每个$b[i] - b[i - 1]$互不干扰,不妨设这个串关于中心点对称的这么一对区间的串分别为$(S_1, S_2)$ 题目的限制相当与 ...