关于JS中的eval()函数
eval()函数的定义和用法
JavaScript中的 eval() 函数可以计算eval中的参数(JavaScript 字符串),并把它作为脚本代码来执行。
如果参数是一个表达式,eval() 函数将执行表达式。如果参数是Javascript语句,eval()将执行 Javascript 语句。
语法
eval(string)
参数 | 描述 |
---|---|
string | 必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。 |
返回值
通过计算 string 得到的值(如果有的话)。
说明
该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。
具体事例
<script type="text/javascript">
eval("alert('Hello world')")
</script>
实现:
<script type="text/javascript">
eval("x=23;y=56;document.write(x*y)")
document.write("<br />")
document.write(eval("24+60"))
document.write("<br />")
var x=10
document.write(eval(x+17))
document.write("<br />")
</script>
实现:
如果参数中没有合法的表达式和语句,则抛出 SyntaxError 异常。
如果非法调用 eval(),则抛出 EvalError 异常。
如果传递给 eval() 的 Javascript 代码生成了一个异常,eval() 将把该异常传递给调用者。
提示:
虽然 eval() 的功能非常强大,但在实际使用中用到它的情况并不多。