[英]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.