eval函数和isNaN函数
(一)eval函数定义:eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。 (二)语法:eval(string)string必需。 (三)返回值:通过计算 string 得到的值(如果有的话) (四)说明: 该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。 如果试图覆盖 eval 属性或把 eval() 方法赋予另一个属性,并通过该属性调用它,则 ECMAScript 实现允许抛出一个 EvalError 异常。 (五)抛出: 如果参数中没有合法的表达式和语句,则抛出 SyntaxError 异常。 如果非法调用 eval(),则抛出 EvalError 异常。 如果传递给 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 { 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> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |