我们经常在JavaScript代码中使用以下代码模式
if (typeof(some_variable) != 'undefined' && some_variable != null)
{
// Do something with some_variable
}
有没有更冗长的检查方法具有相同的效果?
根据一些论坛和文献的说法,简单地讲,以下内容应具有相同的效果。
if (some_variable)
{
// Do something with some_variable
}
不幸的是,当未定义时,Firebug会将这样的语句评估为运行时错误some_variable
,而第一个语句就可以了。这仅仅是Firebug的一种(有害的)行为,还是这两种方式之间确实存在某些区别?
在ES5或ES6中,如果需要多次检查,可以执行以下操作: