• 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  {
         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>
  • 相关阅读:
    pwnable.kr之input
    pwnable.kr之bof
    pwnable.kr之fd
    运维及服务器组成详解
    查看锁信息(开启InnoDB监控)
    【原创】记一次MySQL大表高并发写入引发CPU飙升的排障过程
    【原创】获取MySQL crash 时的core file
    【原创】MySQL Replay线上流量压测工具
    python面向对象
    TCP三次握手与四次挥手
  • 原文地址:https://www.cnblogs.com/xiaochen-cmd-97/p/11298198.html
Copyright © 2020-2023  润新知