JavaScript:typeof(var)==='undefined' vs =='undefined'之间的区别?



也许这是一个理论上的问题,但为了检查变量是否存在,最常见的建议是:

typeof(var)==='undefined'typeof(var)!=='undefined'

这与typeof(var)=='undefined'(或typeof(var)!='undefined'(有何不同?

我的意思是=====。或!==!=。我知道这通常意味着比较类型和值,但在这种情况下,typeof(something)总是计算为字符串,对吧?

是否存在typeof(var)==='undefined'typeof(var)=='undefined'相同的情况?

实际上没有区别,因此typeof返回一个字符串。

如果希望避免自动转换,请使用===!==

示例:

alert(1!='1')//false
alert(1!=='1')//true
alert('1'!='1')//false
alert('1'!=='1')//false
alert(true==1)//true
alert(true===1)//false

'==='和'!==='运算符要快一点,所以在大多数情况下,应该使用这些运算符,而不是"=="或"!=="。

对于!=部分,!将被视为NOT。typeof var !=='undefined'=>if typeof var is not undefined

最新更新