首頁  >  文章  >  web前端  >  如何正確的使用JavaScript eval() 函數

如何正確的使用JavaScript eval() 函數

jacklove
jacklove原創
2018-05-04 15:48:221414瀏覽

JavaScript eval() 函數可以運用於字串的計算,本篇對其使用內容作詳細的介紹。

定義與用法

eval() 函數可計算某個字串,並執行其中的 JavaScript 程式碼。

語法

eval(string)


參數:string   

說明: 必要。要計算的字串,其中包含要計算的 JavaScript 表達式或要執行的語句。   

傳回值

透過計算 string 得到的值(如果有的話)。

說明

該方法只接受原始字串作為參數,如果 string 參數不是原始字串,那麼該方法將不作任何改變地傳回。因此請不要為 eval() 函數傳遞 String 物件作為參數。

如果試圖覆寫 eval 屬性或把 eval() 方法賦予另一個屬性,並透過該屬性呼叫它,則 ECMAScript 實作允許拋出一個 EvalError 例外。

拋出

如果參數中沒有合法的表達式和語句,則拋出 SyntaxError 例外。

如果非法呼叫 eval(),則拋出 EvalError 例外。

如果傳遞給 eval() 的 Javascript 程式碼產生了一個異常,eval() 將把該異常傳遞給呼叫者。

提示與註解

提示:雖然 eval() 的功能非常強大,但在實際使用中用到它的情況並不多。

實例

範例1

在本例中,我們將在幾個字串上運用eval(),並看看傳回的結果:

<script type="text/javascript">
eval("x=10;y=20;document.write(x*y)")
document.write(eval("2+2"))
var x=10
document.write(eval(x+17))
</script>

輸出:

200
4
27

#範例2

看一下在其他情況中,eval() 傳回的結果:

eval("2+3")// 返回 5
var myeval = eval;// 可能会抛出 EvalError 异常
myeval("2+3");// 可能会抛出 EvalError 异常

可以使用下面這段程式碼來偵測eval() 的參數是否合法:

try  {     alert("Result:" + eval(prompt("Enter an expression:","")));     }catch(exception) {     alert(exception);     }

本篇對eval() 的使用方法進行了詳細的介紹,更多的eval () 相關知識請注意php中文網。

相關推薦:

javascript eval()用法_javascript技巧

javascript eval()應用實例select_javascript技巧

JavaScript eval() 函數介紹及應用範例_javascript技巧

以上是如何正確的使用JavaScript eval() 函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn