eval() 函數(shù)可計(jì)算某個字符串,并執(zhí)行其中的的 JavaScript 代碼。
eval(string)
參數(shù) | 描述 |
---|---|
string | 必需。要計(jì)算的字符串,其中含有要計(jì)算的 JavaScript 表達(dá)式或要執(zhí)行的語句。 |
通過計(jì)算 string 得到的值(如果有的話)。
該方法只接受原始字符串作為參數(shù),如果 string 參數(shù)不是原始字符串,那么該方法將不作任何改變地返回。因此請不要為 eval() 函數(shù)傳遞 String 對象來作為參數(shù)。
如果試圖覆蓋 eval 屬性或把 eval() 方法賦予另一個屬性,并通過該屬性調(diào)用它,則 ECMAScript 實(shí)現(xiàn)允許拋出一個 EvalError 異常。
如果參數(shù)中沒有合法的表達(dá)式和語句,則拋出 SyntaxError 異常。
如果非法調(diào)用 eval(),則拋出 EvalError 異常。
如果傳遞給 eval() 的 Javascript 代碼生成了一個異常,eval() 將把該異常傳遞給調(diào)用者。
提示:雖然 eval() 的功能非常強(qiáng)大,但在實(shí)際使用中用到它的情況并不多。
在本例中,我們將在幾個字符串上運(yùn)用 eval(),并看看返回的結(jié)果:
<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
看一下在其他情況中,eval() 返回的結(jié)果:
eval("2+3") // 返回 5 var myeval = eval; // 可能會拋出 EvalError 異常 myeval("2+3"); // 可能會拋出 EvalError 異常
可以使用下面這段代碼來檢測 eval() 的參數(shù)是否合法:
try { alert("Result:" + eval(prompt("Enter an expression:",""))); } catch(exception) { alert(exception); }
如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答??! 點(diǎn)擊進(jìn)入論壇
Powered by 365建站網(wǎng) RSS地圖 HTML地圖
copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號