利用JS实现WEB前端计算器效能

利用JS实现WEB前端计算器功能

  这两天通过学习了JS,按照要求做了个简单的WEB前端计算器。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>计算器</title>
<script>
var init="";
var lastop="";
var num1=0;
var num2=0;
var rs=0;
function display(state){
	init+=state;
	show(init);	
}
function show(str){
	document.getElementById("input").value=str;
}
function getOp(op){
	lastop=op;
	num1=parseFloat(init);
	init="";	
}
function getResult(){
	num2=parseFloat(init);
	init="";	
	rs=cal(num1,num2,lastop);
	show(rs);
}
function fan(){
    init=String((parseFloat(document.getElementById("input").value)*(-1)));
	document.getElementById("input").value=init;
}   
function cal(n1,n2,ope){
     switch(ope){
	    case '+': return(n1+n2);break;
		case '-': return(n1-n2);break;
		case '*': return(n1*n2);break;
		case '/': if(n2!=0){ return(n1/n2); break;}
		          else{ break;}
		case '%': return(n1%n2);break;
				  }
		
	}
function ce(){
      var size=init.length;
	  init=init.substring(0,size-1);
	  document.getElementById("input").value=init;
}
function clean(){
    init="";
	lastop="";
	num1=0;
	num2=0;
	rs=0;
	document.getElementById("input").value="0.";
}

</script>
</head>

<body >
<h1  align="center" style="font-family:楷体; color:#999999; ">网页计算器</h1>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1"  >
  <table width="669" height="127" border="1" align="center">
    <tr>
      <td  align="center" colspan="3"><label for="input"></label>
      <input type="text" name="input"  width="200%" id="input"  value="0."/></td>
      <td align="center"><input type="button" name="C" id="C" value="    C    "  onclick="clean()"/></td>
      <td align="center"><input   type="button" name="CE" id="CE" value="  CE  " onclick="ce()"/></td>
    </tr>
    <tr>
      <td align="center"><input type="button" name="seven" id="seven" value="    7    "  onclick="display('7')"/></td>
      <td align="center"><input type="button" name="eight" id="eight" value="    8    " onclick="display('8')" /></td>
      <td align="center"><input type="button" name="nine" id="nine" value="    9    " onclick="display('9')" /></td>
      <td align="center"><input type="button" name="+/-" id="+/-" value="   +/-   " onclick="fan()"/></td>
      <td align="center"><input type="button" name="%" id="%" value="   %   " onclick="getOp('%')"/></td>
    </tr>
    <tr>
      <td align="center"><input type="button" name="four" id="four" value="    4    "  onclick="display('4')" /></td>
      <td align="center"><input type="button" name="five" id="five" value="    5    " onclick="display('5')" /></td>
      <td align="center"><input type="button" name="six" id="six" value="    6    " onclick="display('6')" /></td>
      <td align="center"><input type="button" name="+" id="+" value="    +    " onclick="getOp('+')" /></td>
      <td align="center" ><input type="button" name="-" id="-" value="    -    "  onclick="getOp('-')" /></td>
    </tr>
    <tr>
      <td align="center"><input type="button" name="one" id="one" value="    1    " onclick="display('1')" /></td>
      <td align="center"><input type="button" name="two" id="two" value="    2    " onclick="display('2')" /></td>
      <td align="center"><input type="button" name="three" id="three" value="    3    "  onclick="display('3')"/></td>
      <td align="center"><input type="button" name="*" id="*" value="    *    "   onclick="getOp('*')" /></td>
      <td align="center"><input type="button" name="/" id="/" value="    /    "   onclick="getOp('/')"  /></td>
    </tr>
    <tr>
      <td align="center"><input type="button" name="zero" id="zero" value="    0    " onclick="display('0')" /></td>
      <td align="center"><input type="button" name="dot" id="dot" value="    .    "  onclick="display('.')"/></td>
      <td align="center">&nbsp;</td>
      <td align="center"><input type="button" name="=" id="=" value="    =    " onclick="getResult()" /></td>
      <td align="center"><input type="button" name="return" id="return" value="  返回  " /></td>
    </tr>
  </table>
</form>
</body>
</html>
个人感觉比较麻烦的就是实现CE功能,需要对已输入字符串的长度进行裁剪,形成新的字符串。
下面是界面效果图:

利用JS实现WEB前端计算器效能