複製程式碼 程式碼如下: 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> (xval);<br> //呼叫物件方法<br> xsval.value=calculator.jisuan(temp,xval, oper);<br> }<br>-- ><br> 輸入{<br> 寬度: 60px;<br> }<br> #inp1{ }<br> <br><br></p> <br> <table border="1"> <br> <!--顯示結果行--><br> <!--顯示結果行--><br> <!--顯示結果行--><br> <!--顯示結果行--><br> > <input id="inp1" type="text" value="" name="xianshi"><br><br> <!--第一行- -><BR> <tr><td><input type="button" value="POWER" onclick="inputPCB(this)"/></td><td><input type="button" value="清除" onclick= "inputPCB(this)"/></td><td><input type="button" value="返回"onclick="inputPCB(this) "/></td><td></td></ tr><br> <!--第二行--><br> <tr> <td></td>(this)"/> ><td><input type="button" value="2" onclick="inputEvent( this)"></td> <td><input type="button" value="3" onclick="inputEvent( this)"></td> <td></td> </tr> <br> <!--第三行--><br> <tr> <td></td> <td></td> <td><input type="button" value="7" onclick="inputEvent(this)"></td> <td><input type="button" value="8" onclick="inputEvent(this)"></td> </tr> <br> <!--第四行--><br> --第四行--><br> <td> <input type="button" value="9" onclick="inputEvent(this)"> </td> <td><input type="button" value="0" onclick="inputEvent(this )"></td> <td><input type="button" onclick="inputEvent(this)"></td> <td><input type="button" value="=" onclick="inputEquel(this)"></td> <br> <!--第五行--><br> <tr> <td><input type="button" value=" " onclick="inputOper(this)"></td> <td>輸入類型=“按鈕”值=“-”onclick=“inputOper(this)”/></td> <td></td> <td></td> </tr> <br><br> </table> <br> <br> </div>