也许是一个有点理论上的问题,但要检查变量是否存在,最常见的是:
typeof(var)==='undefined'
或typeof(var)!=='undefined'
这与typeof(var)=='undefined'
(或typeof(var)!='undefined'
)有什么不同?
我的意思是===
vs ==
。或!==
vs !=
。我知道这通常意味着比较类型以及值,但在这种情况下,typeof(something)
总是计算为字符串,对吗?
在typeof(var)==='undefined'
和typeof(var)=='undefined'
不相同的情况下,是否存在任何情况?
答案 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