如何确定变量是undefined或null?
undefined
null
我的代码如下:
var EmpName = $("div#esd-names div#name").attr('class'); if(EmpName == 'undefined'){ // DO SOMETHING }; <div id="esd-names"> <div id="name"></div> </div>
但如果我这样做,JavaScript 解释器会停止执行。
您可以使用抽象相等运算符的特性来执行此操作:
if (variable == null){ // your code here. }
因为null == undefined是真的,上面的代码会同时捕获null和undefined。
null == undefined
捕获null和undefined同时的标准方法是:
if (variable == null) { // do something }
– 这 100% 等同于更明确但不太简洁的:
if (variable === undefined || variable === null) { // do something }
在编写专业的 JS 时,理所当然地认为类型平等和==``===理解vs的行为是理所当然的。因此,我们使用==并且仅与 比较null。
==``===
==
建议使用的评论typeof是完全错误的。是的,如果变量不存在,我上面的解决方案将导致 ReferenceError。这是一件好事。这个 ReferenceError 是可取的:它将帮助您在发布代码之前找到错误并修复它们,就像其他语言中的编译器错误一样。如果您正在处理您无法控制的输入,请使用try/ 。catch
typeof
try
catch
您不应在代码中引用任何未声明的变量。