我正在查看idiomatic.js并注意到类型检查部分中的以下几行:
不明确的:
全局变量:
typeof variable === "undefined"
局部变量:
variable === undefined
本节似乎最初基于jQuery 样式指南
我被告知第一种形式更安全,因为undefined
可以重新定义为另一个值。我也不知道第一种形式不适用于局部变量的任何原因。
它似乎在这个小提琴中工作正常。谁能解释为什么这种风格有意义?
var undefined = 2;
function test(){
var x;
alert("1: " + (typeof x == "undefined"));
alert("2: " + ( x === undefined));
}
test(); //alerts "1: true", then "2: false"