为什么这两个条件不同:
不正确:
if (myObj !== null && typeof myObj !== "undefined")
因此,您必须首先测试typeof():
正确:
if (typeof myObj !== "undefined" && myObj !== null)
我把它从w3schools网站上取下来了。根据w3schools你必须首先测试typeof(),为什么这会产生影响。条件看起来是一样的
答案 0 :(得分:6)
如果变量未声明,则第一个条件抛出错误。
ReferenceError: myObj is not defined
请注意&&运算符是短路的,因此在第二种情况下,如果myObj未定义,则根本不会计算myObj !== null
表达式。
有关详细信息,请参阅here。