コードをコピー コードは次のとおりです: 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> <p> /*定义全局变量*/<br> var val=0; //放置输入的值<br> var xval=0;//保存转换Number类型的值<br> var temp=0; //保存第一次输入的值 <br> var oper="";//保存输入的操作符</p> <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> <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> <p> }else if(e.value=="POWER"){<br> //计算平方<br> xsval.value=Math.pow(xsval.value,2); <br> }<br> }</p> <p> /*输入操作符*/<br> function inputOper(e){</p> <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> <p> /*计算结果*/<br> function inputEquel(e){</p> <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>