复制代码 代码如下: JS版计算器 <P> /* 定义一个Calculator类*/<BR> function Calculator(){<br><br> this.jisuan=function(num1,num2,oper){<BR> var res=0;<BR> switch(oper){<BR> case "+":<BR> res=num1+num2;<BR> break;<BR> case "-":<BR> res=num1-num2;<BR> break;<BR> case "*":<BR> res=num1*num2;<BR> break;<BR> case "/":<BR> res=num1/num2;<BR> break;<BR> }<BR> return res;<BR> }<BR> }<BR> //创建对象<BR> var calculator=new Calculator(); <P> /*定义全局变量*/<BR> var val=0; //放置输入的值<BR> var xval=0;//保存转换Number类型的值<BR> var temp=0; //保存第一次输入的值 <BR> var oper="";//保存输入的操作符 <P> /*获取输入数字*/<BR> function inputEvent(e){<br><br> val=e.value<BR> var xsval=document.getElementById("inp1"); <BR> xsval.value+=val; //连续输入数字(String类型)<BR> //转换Number类型<BR> xval=parseFloat(xsval.value);<br><br> } <P> /*获取第一行的数据*/<BR> function inputPCB(e){<BR> //window.alert(e.value);<BR> var xsval=document.getElementById("inp1");<BR> if(e.value=="Clear"){<BR> xsval.value="";<BR> }else if(e.value=="Back"){<BR> /*这个功能还没有实现,有兴趣的朋友可以自己做一做*/ <P> }else if(e.value=="POWER"){<BR> //计算平方<BR> xsval.value=Math.pow(xsval.value,2); <BR> }<BR> } <P> /*输入操作符*/<BR> function inputOper(e){ <P> oper=e.value;<BR> //window.alert(typeof oper);<BR> //oper=oper.substr(0);<BR> if (e.value=="+"){<BR> var xsval=document.getElementById("inp1");<BR> //保存上次计算结果,并对字符串进行转换Number类型<BR> temp=parseFloat(xsval.value);<BR> //第一次输入的值设置为空<BR> xsval.value=""; <BR> }else if(e.value=="-"){<BR> var xsval=document.getElementById("inp1");<BR> temp=parseFloat(xsval.value);<BR> xsval.value="";<BR> }else if(e.value=="*"){<BR> var xsval=document.getElementById("inp1");<BR> temp=parseFloat(xsval.value);<BR> xsval.value="";<BR> }else if(e.value=="/"){<BR> var xsval=document.getElementById("inp1");<BR> temp=parseFloat(xsval.value);<BR> xsval.value="";<BR> }<BR> } <P> /*计算结果*/<BR> function inputEquel(e){ <P> var xsval=document.getElementById("inp1"); <BR> if(e.value=="="){<BR> //window.alert(xval);<BR> //调用对象方法<BR> xsval.value=calculator.jisuan(temp,xval,oper);<BR> }<BR> }<BR><BR> input{<BR> width:60px;<BR> }<BR> #inp1{<BR> width:280px;<BR> text-align:right;<BR> }<BR>