对js eval()函数的一些见解
一、eval是基本使用规则
•1eval()函数可计算某个字符串,并执行其中的的JavaScript代码。
•2eval(string)
•3string必需。要计算的字符串,其中含有要计算的JavaScript表达式或要执行的语句。
•4eval()只有一个参数。
•5eval使用比较不安全,忘慎重使用
二、eval的错误使用方法
•1如果传入的参数不是字符串,它直接返回这个函数。
•2如果参数是字符串,它会把字符串当成JavaScript代码进行编译,如果编译失败者抛出一个语法错误异常。
•3如果编译成功,则开始执行这一段代码,并返回字符串中的最后一个表达式或语句的值,
•4如果最后一个表达式或语句没有值,则最终返回undefined。
三、使用例子
<!DOCTYPEhtml>
<html>
<head>
<metacharset="UTF-8">
<title>eval</title>
</head>
<body>
<scripttype="text/javascript">
//正确输入
varx=10;
document.write(eval(10*x+10))//表达式输出110
document.write("<br/>");
document.write(eval("10==x"));//表达式输出true
document.write("<br/>");
eval(document.write(2+5*x));//执行语句输出52
//非正常输入
try{
vary=8;
//表达式
document.write(eval("9+6*x"+"100"));//如果参数中没有合法的表达式和语句,则抛出SyntaxError异常。
document.write("<br/>");
eval('++++2');//编译失败ReferenceError异常
eval(document.write(2+2));//编译成功
document.write(eval());//返回undefined
varmy=eval();//如果试图覆盖eval属性或把eval()方法赋予另一个属性,
document.write(my(1+2));//并通过该属性调用它,则ECMAScript实现允许抛出一个EvalError异常。
}
catch(exception){
alert(exception);
}
</script>
</body>
</html>
我自己查了好多资料,也还很模糊,希望了解的大神能指点指点!
以上这篇对jseval()函数的一些见解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。