繁体   English   中英

如何检查javascript变量是否存在,为空,数组,(数组为空),未定义,对象等

[英]How to check if javascript variable exist, empty, array, (array but empty), undefined, object and so on

如何检查javascript变量是否存在,为空,数组,(数组为空),未定义,对象等

如标题中所述,我需要一个总体概述,介绍如何在多种情况下检查javascript变量而不返回任何导致浏览器停止处理页面加载的错误。 (现在,本主题中有几个问题。

例如,在未定义_os的情况下,IE会因错误而停止,而其他浏览器则不会:

var _os = fbuser.orders;

var o =0;
var _ret = false;
for (var i = 0; i < _os.length; i++){
...

此外,我还需要正确使用==,===等运算符的指南。

如标题中所述,我需要一个总体概述,介绍如何在多种情况下检查javascript变量而不返回任何导致浏览器停止处理页面加载的错误。

要检查变量是否存在,您可以简单地使用typeof

if (typeof _os != 'undefined'){
  // your code
}

typeof还可以帮助您避免通过这种方式避免var undefined错误。


此外,我还需要正确使用==,===等运算符的指南。

两者都是相等运算符。 第一个进行松散比较以检查值,而第二个检查不仅检查 ,还检查要比较的操作数的类型

这是一个例子:

4 == "4" // true
4 === "4" // false because types are different eg number and string

使用== javascript会自动键入连贯性。 当您确定两个操作数的类型和值时,请始终使用严格的相等运算符,例如===


通常,使用typeof有问题的 ,仅应使用它来检查是否存在变量。

在MDN上了解更多信息:

typeof运算符在这里非常有帮助:

typeof asdf
// "undefined"

也许您想要这样的情况:

// Handle cases where `fbuser.orders` is not an array:
var _os = fbuser.orders || []

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM