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

时间:2015-09-14 18:49:32

标签: javascript comparison undefined typeof

也许是一个有点理论上的问题,但要检查变量是否存在,最常见的是:

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

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

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

typeof(var)==='undefined'typeof(var)=='undefined' 不相同的情况下,是否存在任何情况?

3 个答案:

答案 0 :(得分:0)

确实没有区别因此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

答案 1 :(得分:0)

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

答案 2 :(得分:-1)

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