eval函数和isNaN函数

(一)eval函数定义:eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。javascript

(二)语法:eval(string)string必需。java

(三)返回值:经过计算 string 获得的值(若是有的话)express

(四)说明:函数

该方法只接受原始字符串做为参数,若是 string 参数不是原始字符串,那么该方法将不做任何改变地返回。所以请不要为 eval() 函数传递 String 对象来做为参数。spa

若是试图覆盖 eval 属性或把 eval() 方法赋予另外一个属性,并经过该属性调用它,则 ECMAScript 实现容许抛出一个 EvalError 异常。code

(五)抛出:对象

若是参数中没有合法的表达式和语句,则抛出 SyntaxError 异常。blog

若是非法调用 eval(),则抛出 EvalError 异常。ip

若是传递给 eval() 的 Javascript 代码生成了一个异常,eval() 将把该异常传递给调用者。字符串

(六)实例:

1 <script type="text/javascript">
2 eval("x=10;y=20;document.write(x*y)")
3 //结果200
4 document.write(eval("2+2"))
5 //结果4
6 var x=10
7 document.write(eval(x+17))
8 //结果27
9 </script>

异常实例:

//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);
     }

 

isNaN函数:

(一)定义和用法:isNaN() 函数用于检查其参数是不是非数字值。

(二)语法:isNaN(x)  x必需。要检测的值。

(三)返回值:若是 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true。若是 x 是其余值,则返回 false。

(四)说明:isNaN() 函数可用于判断其参数是不是 NaN,该值表示一个非法的数字(好比被 0 除后获得的结果)。

若是把 NaN 与任何值(包括其自身)相比获得的结果均是 false,因此要判断某个值是不是 NaN,不能使用 == 或 === 运算符。正由于如此,isNaN() 函数是必需的。

tip:isNaN() 函数一般用于检测 parseFloat() 和 parseInt() 的结果,以判断它们表示的是不是合法的数字。固然也能够用 isNaN() 函数来检测算数错误,好比用 0 做除数的状况。

(五)实例:

 1 <script>
 2 document.write(isNaN(123));
 3 //false
 4 document.write(isNaN(-1.23));
 5 //false
 6 document.write(isNaN(5-2));
 7 //false
 8 document.write(isNaN(0));
 9 //false
10 document.write(isNaN("Hello"));
11 true
12 document.write(isNaN("2005/12/12"));
13 true
14 </script>
相关文章
相关标签/搜索