javascript
JavaScript eval() 函数
定義和用法
eval() 函數(shù)可計(jì)算某個(gè)字符串,并執(zhí)行其中的的 JavaScript 代碼。
?
語(yǔ)法
eval(string)
?
| string | 必需。要計(jì)算的字符串,其中含有要計(jì)算的 JavaScript 表達(dá)式或要執(zhí)行的語(yǔ)句。 |
?
返回值
通過(guò)計(jì)算 string 得到的值(如果有的話)。
說(shuō)明
該方法只接受原始字符串作為參數(shù),如果 string 參數(shù)不是原始字符串,那么該方法將不作任何改變地返回。因此請(qǐng)不要為 eval() 函數(shù)傳遞 String 對(duì)象來(lái)作為參數(shù)。
如果試圖覆蓋 eval 屬性或把 eval() 方法賦予另一個(gè)屬性,并通過(guò)該屬性調(diào)用它,則 ECMAScript 實(shí)現(xiàn)允許拋出一個(gè) EvalError 異常。
?
拋出
如果參數(shù)中沒(méi)有合法的表達(dá)式和語(yǔ)句,則拋出 SyntaxError 異常。
如果非法調(diào)用 eval(),則拋出 EvalError 異常。
如果傳遞給 eval() 的 Javascript 代碼生成了一個(gè)異常,eval() 將把該異常傳遞給調(diào)用者。
?
提示和注釋
提示:雖然 eval() 的功能非常強(qiáng)大,但在實(shí)際使用中用到它的情況并不多。
例子 1
在本例中,我們將在幾個(gè)字符串上運(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例子 2
看一下在其他情況中,eval() 返回的結(jié)果:
eval("2+3") // 返回 5 var myeval = eval; // 可能會(huì)拋出 EvalError 異常 myeval("2+3"); // 可能會(huì)拋出 EvalError 異常?
可以使用下面這段代碼來(lái)檢測(cè) eval() 的參數(shù)是否合法:
try {alert("Result:" + eval(prompt("Enter an expression:","")));}catch(exception) {alert(exception);}===========================
?
code:
?
<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>
?
result:
?
200
4
27
(彈出"Hello world”對(duì)話框)
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/springmvc-hibernate/archive/2010/09/03/2484239.html
總結(jié)
以上是生活随笔為你收集整理的JavaScript eval() 函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 内联函数与普通函数、成员函数与静态函数的
- 下一篇: WSS 扩展文件夹的属性--如何给文件夹