【发布时间】:2015-09-14 18:49:31
【问题描述】:
也许是一个理论上的问题,但要检查变量是否存在,最常见的建议是:
typeof(var)==='undefined' 或 typeof(var)!=='undefined'
这与typeof(var)=='undefined'(或typeof(var)!='undefined')有何不同?
我的意思是 === 与 ==。或!== 与!=。我知道这通常意味着比较 type 和 value,但在这种情况下,typeof(something) 总是计算为字符串,对吧?
是否存在typeof(var)==='undefined' 和typeof(var)=='undefined'不相同的情况?
【问题讨论】:
-
这个线程上的答案应该有助于澄清......stackoverflow.com/questions/359494/…
-
你是对的。有些人喜欢总是使用
===来保持一致(或者他们在某处读到==是纯粹的邪恶,应该不惜一切代价避免)。 -
快速说明:
typeof是运算符,而不是函数。你可以省略那些括号。 -
是的,typeof 运算符总是返回一个字符串,如此处所述:w3schools.com/js/js_type_conversion.asp。我想不出两个场景不一样的场景,仅仅是因为 typeof 返回字符串
标签: javascript comparison undefined typeof