JavaScript:typeof(var)==';未定义';vs==';未定义';?
也许这是一个理论问题,但要检查变量是否存在,最常见的建议是:JavaScript:typeof(var)==';未定义';vs==';未定义';?,javascript,comparison,undefined,typeof,Javascript,Comparison,Undefined,Typeof,也许这是一个理论问题,但要检查变量是否存在,最常见的建议是: typeof(var)=='undefined'或typeof(var)!='未定义的“ 这与typeof(var)==“未定义”(或typeof(var)!=“未定义”)有何不同 我的意思是==与==相比。或者==vs=。我知道这通常意味着比较类型和值,但在这种情况下,typeof(something)总是计算为字符串,对吗 有没有可能出现typeof(var)==“undefined”和typeof(var)==“undefine
typeof(var)=='undefined'
或typeof(var)!='未定义的“
这与typeof(var)==“未定义”
(或typeof(var)!=“未定义”
)有何不同
我的意思是==
与==
相比。或者==代码>vs=代码>。我知道这通常意味着比较类型和值,但在这种情况下,typeof(something)
总是计算为字符串,对吗
有没有可能出现typeof(var)==“undefined”
和typeof(var)==“undefined”
与不一样的情况=代码>部分,代码>将被视为非<代码>变量类型!=='未定义“
=>如果typeof var不是未定义的
实际上没有区别,因此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
“==”和“!==”的运算符的速度要快一点,所以在大多数情况下,应该使用它们而不是“==”或“!=” 这个问题的答案应该有助于澄清。。。你说得对。有些人喜欢总是使用===
来保持一致(或者他们在某个地方读到==
纯粹是邪恶的,应该不惜一切代价加以避免)。简要说明:typeof
是一个操作符,而不是一个函数。可以省略这些括号。是的,typeof运算符始终返回此处提到的字符串:。我想不出哪种情况下两种情况是不一样的,只是因为typeof返回stringThank,是的,我知道,我只是想知道typeof var!='未定义的“
和类型变量!=”未定义“
,但显然没有。这只是偏好问题。但是在某些语言中,在if语句中使用=
是合适的,因为这样可以检查,而只设置一个=
语句(在if中总是返回strue)。把他们分开很好。