⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cal.js

📁 用javascript编写的计算器
💻 JS
字号:

function init()
{
  // Globle Operation
  CalRslt=0;
  opertr="";
  result = document.getElementById("result");
  result.value = "0";

  // Number keys
  var num0 = document.getElementById("num0");
  var num1 = document.getElementById("num1");
  var num2 = document.getElementById("num2");
  var num3 = document.getElementById("num3");
  var num4 = document.getElementById("num4");
  var num5 = document.getElementById("num5");
  var num6 = document.getElementById("num6");
  var num7 = document.getElementById("num7");
  var num8 = document.getElementById("num8");
  var num9 = document.getElementById("num9");

  num0.onclick = function() {dispCal(0)};
  num1.onclick = function() {dispCal(1)};
  num2.onclick = function() {dispCal(2)};
  num3.onclick = function() {dispCal(3)};
  num4.onclick = function() {dispCal(4)};
  num5.onclick = function() {dispCal(5)};
  num6.onclick = function() {dispCal(6)};
  num7.onclick = function() {dispCal(7)};
  num8.onclick = function() {dispCal(8)};
  num9.onclick = function() {dispCal(9)};

  var sign = document.getElementById("sign");
  var point = document.getElementById("point");
  sign.onclick = function() {dispCal("sign")};
  point.onclick = function() {dispCal(".")};

  // Binary Opterator keys
  var add = document.getElementById("add");
  var sub = document.getElementById("sub");
  var mul = document.getElementById("mul");
  var div = document.getElementById("div");
  var mod = document.getElementById("mod");

  add.onclick = function() {dispCal("+")};
  sub.onclick = function() {dispCal("-")};
  mul.onclick = function() {dispCal("*")};
  div.onclick = function() {dispCal("/")};
  mod.onclick = function() {dispCal("%")};

  // Odd Opterator keys
  var sqrt = document.getElementById("sqrt");
  var recip = document.getElementById("recip");

  sqrt.onclick = function() {dispCal("sqrt")};
  recip.onclick = function() {dispCal("recip")};

  var calculate = document.getElementById("calculate");
  calculate.onclick = function() {dispCal("=")};

  // Control keys
  var backspace = document.getElementById("backspace");
  var CE = document.getElementById("CE");
  var C = document.getElementById("C");

  backspace.onclick = function() {result.value = result.value.substring(0,result.value.length-1);};
  CE.onclick = function() { result.value = ""; };
  C.onclick = function() { CalRslt=0; optrtr="";result.value="0";};
}


function Calc()
{
  if(opertr=="+"){
    CalRslt=CalRslt+eval(result.value);}
  else if(opertr=="-"){
    CalRslt=CalRslt-eval(result.value);}
  else if(opertr=="*"){
    CalRslt=CalRslt*eval(result.value);}
  else if(opertr=="/"){
    CalRslt=CalRslt/eval(result.value);}
  else if(opertr=="%"){
    CalRslt=CalRslt%eval(result.value);}
  else if(opertr=="sqrt"){
    CalRslt=Math.sqrt(CalRslt);
    result.value=CalRslt;}
  else if(opertr=="recip"){
    CalRslt=1/CalRslt;
    result.value=CalRslt;}
  else
    CalRslt=eval(result.value);
}

function dispCal(t)
{
  if(t=="="){
    Calc();
    result.value=CalRslt;
    opertr="";}
  else if(t=="+"){
    Calc();
    result.value="";
    opertr="+";}
  else if(t=="-"){
    Calc();
    result.value="";
    opertr="-";}
  else if(t=="*"){
    Calc();
    result.value="";
    opertr="*";}
  else if(t=="/"){
    Calc();
    result.value="";
    opertr="/";}
  else if(t=="%"){
    Calc();
    result.value="";
    opertr="%";}
  else if(t=="sqrt"){
    Calc();
    opertr="sqrt";
    Calc();
    opertr="="}
  else if(t=="recip"){
    Calc();
    opertr="recip";
    Calc();
    opertr="="}
  else if(t=="sign") {
    var si = result.value.charAt(0);
    if ( si == "-")
      result.value = result.value.substring(1,result.value.length);
    if ( si != "-")
      result.value = "-" + result.value;
  }
  else {
    if(result.value == "0") result.value="";
    result.value = result.value + t;
  }
}

window.onload = init;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -