eval(String) 函數可計算某個字串,並執行其中的 JavaScript 程式碼。
回傳值
透過計算 string 得到的值(如果有的話)。
說明
該方法只接受原始字串作為參數,如果 string 參數不是原始字串,那麼該方法將不作任何改變地傳回。因此請不要為 eval() 函數傳遞 String 物件作為參數。
如果試圖覆寫 eval 屬性或把 eval() 方法賦予另一個屬性,並透過該屬性呼叫它,則 ECMAScript 實作允許拋出一個 EvalError 異常。
拋出
如果參數中沒有合法的表達式和語句,則拋出 SyntaxError 例外。
如果非法呼叫 eval(),則拋出 EvalError 異常。
如果傳遞給 eval() 的 Javascript 程式碼產生了一個異常,eval() 將把該異常傳遞給呼叫者。
提示與註解
提示:雖然 eval() 的功能非常強大,但在實際使用中用到它的情況並不多。
範例:
<html> <body> <script type="text/javascript"> eval("x=10;y=20;document.write(x*y)") document.write("<br />") document.write(eval("2+2")) document.write("<br />") var x=10 document.write(eval(x+17)) document.write("<br />") eval("alert('Hello world')") </script> </body> </html>
輸出:
200
4
24