我一直在使用typeof
运算符来检查变量是否未定义如下:
if( typeof numLines === "undefined" ){
// do something
}
但使用以下方法可以实现同样的目标:
if( numLines === undefined ){
// do something
}
据我所知,我曾在某处读到过类型方法更好但现在我觉得如果根本没有任何好处,我为什么要使用稍微长一点的陈述呢?所以我的问题是:
typeof
方法进行此类检查确实有任何好处吗? 感谢。
答案 0 :(得分:1)
根据related question undefined
并不能保证您的期望是:
var undefined = 'uh oh'
if (numLines === undefined) {
// Seems safe but isn't
}
else if (typeof(numlines) == 'undefined') {
// Actually gets it.
}
undefined
在JavaScript中没有被定位,这很奇怪,但这就是ECMA标准的原因。