zoukankan      html  css  js  c++  java
  • js中如何获取纯正的undefined?

    1、为什么要获取undefined?

    因为undefined在javascript中不是保留字,可以被用户当做变量来赋值,这样如果我们后期需要用到undefined来检测一个变量的话,那么检测的值就不准确了;

    举个栗子:

    var undefined=10;

    function sum(a,b){

      if(a===undefined||b===undefined){

          console.log("参数不正确");

      }

      return a+b;

    }

    sum(10,10)->本来正确的参数,控制台输出的确实"参数错误";

    这时候,为了兼容所有的浏览器,我们就需要获取一个纯正的undefinde

    2、怎样获取纯正的undefined?

    1) void (0):

    ECMAScript 262规范,有如下描述:

    The void Operator

    The production UnaryExpression : void UnaryExpression is evaluated as follows:

    • Let expr be the result of evaluating UnaryExpression.
    • Call GetValue(expr).
    • Return undefined.

    总之,记住无论void后的表达式是什么,void操作符都会返回undefined就好了

    2) 传入一个为赋值的形参

    [案例]

    function(_undefined){

    //函数体中不给_undefined赋值,形参_undefined的值就是undefined,在这个函数用就可以使用_undefined了

    }

    3)未赋值的变量 

    举个栗子:var num  //道理和2)是一样的 

  • 相关阅读:
    memcpy源代码
    XML总结
    javabean总结
    VC++注射过程
    八排序算法
    fscanf功能具体解释
    外行观察者模式
    Android 实现用户列表信息的功能,然后选择删除幻灯片删除功能
    WINHTTP的API接口说明
    poj 1698 Alice's Chance 拆点最大流
  • 原文地址:https://www.cnblogs.com/wangying731/p/5245930.html
Copyright © 2011-2022 走看看