为什么idiomatic.js和jQuery为局部变量推荐`variable === undefined`

时间:2013-03-30 19:14:47

标签: javascript undefined

我正在查看idiomatic.js并注意到类型检查部分中的以下行:

未定义:

全局变量:

typeof variable === "undefined"

本地变量:

variable === undefined

此部分最初基于jQuery style guide

我被告知第一种形式更安全,因为undefined可以重新定义为另一种价值。我也不知道第一种形式对局部变量不起作用的原因。

fiddle中似乎工作得很好。任何人都可以解释为什么这种风格有意义吗?

var undefined = 2;

function test(){
  var x;

    alert("1: " + (typeof x == "undefined"));
    alert("2: " + ( x  === undefined)); 

}

test();  //alerts "1: true", then  "2: false"

0 个答案:

没有答案