JS計算機代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>javascript簡單計算機</title> <script type="text/javascript"> <!--Hide The Script from old browsers -- function compute(obj) //單擊等於"="按鈕調用的函數; {obj.expr.value = eval(obj.expr.value)} //用JS得eval()方法計算name為expr中的公式 var one = '1' var two = '2' var three = '3' var four = '4' var five = '5' var six = '6' var seven = '7' var eight = '8' var nine = '9' var zero = '0' var plus = '+' var minus = '-' var multiply = '*' var divide = '/' var decimal = '.' function enter(obj,string) //type="button"的調用函數 {obj.expr.value += string} //在表單expr的值後面連上相應的字元 //--End Hiding Here --> </script> </head> <body> <form name="calc"> <table border="1"> <td colspan="4"><input type="text" name="expr" size="30" action="compute(this.form)" /></td> <tr> <td><input type="button" value=" 7 " onclick="enter(this.form,seven)" /></td> <td><input type="button" value=" 8 " onclick="enter(this.form,eight)" /></td> <td><input type="button" value=" 9 " onclick="enter(this.form,nine)" /></td> <td><input type="button" value=" / " onclick="enter(this.form,divide)" /></td> </tr> <tr> <td><input type="button" value=" 4 " onclick="enter(this.form,four)" /></td> <td><input type="button" value=" 5 " onclick="enter(this.form,five)" /></td> <td><input type="button" value=" 6 " onclick="enter(this.form,six)" /></td> <td><input type="button" value=" * " onclick="enter(this.form,multiply)" /></td> </tr> <tr> <td><input type="button" value=" 1 " onclick="enter(this.form,one)" /></td> <td><input type="button" value=" 2 " onclick="enter(this.form,two)" /></td> <td><input type="button" value=" 3 " onclick="enter(this.form,three)" /></td> <td><input type="button" value=" - " onclick="enter(this.form,minus)" /></td> </tr> <tr> <td colspan="2"><input type="button" value=" 0 " onclick="enter(this.form,zero)" /></td> <td><input type="button" value=" . " onclick="enter(this.form,decimal)" /></td> <td><input type="button" value=" + " onclick="enter(this.form,plus)" /></td> </tr> <tr> <td colspan="2"><input type="button" value=" = " onclick="compute(this.form)" /></td> <td colspan="2"><input type="button" value="AC" onclick="form.reset()"/></td> </tr> </table> </form> </body> </html>
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
說明:
JavaScript eval() 函數
定義和用法
eval() 函數可計算某個字串,並執行其中的的 JavaScript 代碼。
傳回值
通過計算 string 得到的值(如果有的話)。
說明
該方法只接受原始字串作為參數,如果 string 參數不是原始字串,那麼該方法將不作任何改變地返回。因此請不要為 eval() 函數傳遞 String 對象來作為參數。
如果試圖覆蓋 eval 屬性或把 eval() 方法賦予另一個屬性,並通過該屬性調用它,則 ECMAScript 實現允許拋出一個 EvalError 異常。
拋出
如果參數中沒有合法的運算式和語句,則拋出 SyntaxError 異常。
如果非法調用 eval(),則拋出 EvalError 異常。
如果傳遞給 eval() 的 Javascript 代碼產生了一個異常,eval() 將把該異常傳遞給調用者。
提示和注釋
提示:雖然 eval() 的功能非常強大,但在實際使用中用到它的情況並不多。