生活随笔
收集整理的這篇文章主要介紹了
Javascript编写的简易计算器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用JS編寫計算器
Javascript相當只簡潔方便,頗有MATLAB之風
這是曾經web課上的作業,用js寫個簡單的計算器
這里關鍵是定義計算器的函數,首先看js定義函數的語法:
[javascript]?view plaincopy
function?func1(…){…};?? var?func2=function(…){…};?? var?func3=function?func4(…){…};?? var?func5=new?Function();??
Js中每個變量包括函數都需要作為一個對象來運營維護。
直接貼上計算器的代碼:
[javascript]?view plaincopy
<script?language="javascript"?>?? ?? ?? ?? var?formulaToShow="";???? var??formulaToCalcu="";?? var?result="?";???? var?saved="0";????? ?? ?? ?? function?TypeFormula(com)?? {?? ???? ??if((result!="?"||result=="0")?&&?com!="save"){?? ????formulaToShow="";?? ????result="?";?? ??}?? ???? ???? ??switch(com)?? ??{?? ????case?"clear":?? ???????formulaToShow="";?? ???????result="?";?? ???????break;?? ?????case?"back":?? ???????{var?f=formulaToShow;?? ???????if(f.substring(f.length-5,f.length)=="asin("||f.substring(f.length-5,f.length)=="acos("||f.substring(f.length-5,f.length)=="atan("||f.substring(f.length-5,f.length)=="sqrt(")?? ?????????formulaToShow=formulaToShow.substring(0,formulaToShow.length-5);?? ???????else?if(f.substring(f.length-4,f.length)=="sin("||f.substring(f.length-4,f.length)=="cos("||f.substring(f.length-4,f.length)=="tan("||f.substring(f.length-4,f.length)=="exp(")?? ?????????formulaToShow=formulaToShow.substring(0,formulaToShow.length-4);?? ???????else?if(f.substring(f.length-3,f.length)=="ln(")?? ?????????formulaToShow=formulaToShow.substring(0,formulaToShow.length-3);?? ???????else??? ?????????formulaToShow=formulaToShow.substring(0,formulaToShow.length-1);?? ???????}?? ???????break;??????? ??????? ?????case?"sign":?? ???????{if?(formulaToShow=="")formulaToShow="-";?? ???????else?if(formulaToShow[0]=="-")formulaToShow=formulaToShow.substring(1,formulaToShow.length);?? ???????else?formulaToShow="-"+formulaToShow;}?? ???????break;?? ???????case?"save":?? ?????????saved=formulaToShow;?? ??????break;?? ??????case?"getsave":?? ?????????formulaToShow=formulaToShow+saved;?? ??????break;?? ??????case?"result":?? ???????{if(formulaToShow=="")?result="?";?? ???????else?{?? ?????????formulaToCalcu=formulaToShow.toString();?? ?????????formulaToCalcu=formulaToCalcu.replace(/sin/g,?"Math.sin");?? ?????????formulaToCalcu=formulaToCalcu.replace(/cos/g,?"Math.cos");?? ?????????formulaToCalcu=formulaToCalcu.replace(/tan/g,?"Math.tan");?? ?????????formulaToCalcu=formulaToCalcu.replace(/asin/g,?"Math.asin");?? ?????????formulaToCalcu=formulaToCalcu.replace(/aMath.sin/g,?"Math.asin");?? ?????????formulaToCalcu=formulaToCalcu.replace(/acos/g,?"Math.acos");?? ?????????formulaToCalcu=formulaToCalcu.replace(/aMath.cos/g,?"Math.acos");?? ?????????formulaToCalcu=formulaToCalcu.replace(/atan/g,?"Math.atan");?? ?????????formulaToCalcu=formulaToCalcu.replace(/aMath.tan/g,?"Math.atan");?? ?????????formulaToCalcu=formulaToCalcu.replace(/exp/g,?"Math.exp");?? ?????????formulaToCalcu=formulaToCalcu.replace(/ln/g,?"Math.log");?? ?????????formulaToCalcu=formulaToCalcu.replace(/sqrt/g,?"Math.sqrt");?? ?? ???????try?{result=eval(formulaToCalcu);}?? ???????catch?(exception)?{?? ?????????????????window.alert(exception);?}?? ?????????}?? ???????}?? ???????break;?? ???????default:?? ???????formulaToShow+=com;??? ???????break;?? ??}?? ?? ???txtShow.innerHTML=formulaToShow+"<br/>"+result+"<br/>";???? }?? ?? </script>??
我們可以使用很多內置的函數,如sin() ?cos()等
下面是計算器截圖:
轉載請注明出處:http://blog.csdn.net/xiaowei_cqu/article/details/7081348
源碼下載:http://download.csdn.net/detail/xiaowei_cqu/3935914
總結
以上是生活随笔為你收集整理的Javascript编写的简易计算器的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。