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)是同一的