Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查javascript变量是否存在、空、数组、(数组但为空)、未定义、对象等_Javascript_Error Handling_Operators - Fatal编程技术网

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

如何检查javascript变量是否存在、空、数组、(数组但为空)、未定义、对象等,javascript,error-handling,operators,Javascript,Error Handling,Operators,如何检查javascript变量是否存在、空、数组、(数组但为空)、未定义、对象等 正如标题中提到的,我需要一个概述,如何在几种情况下检查javascript变量,而不返回导致浏览器停止处理页面加载的任何错误。 (现在我在这个话题上有几个问题 例如,如果操作系统未定义,IE会停止并出现错误,其他浏览器则不会: var _os = fbuser.orders; var o =0; var _ret = false; for (var i = 0; i < _os.length; i++){

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

正如标题中提到的,我需要一个概述,如何在几种情况下检查javascript变量,而不返回导致浏览器停止处理页面加载的任何错误。 (现在我在这个话题上有几个问题

例如,如果操作系统未定义,IE会停止并出现错误,其他浏览器则不会:

var _os = fbuser.orders;

var o =0;
var _ret = false;
for (var i = 0; i < _os.length; i++){
...
var\u os=fbuser.orders;
VarO=0;
var _ret=假;
对于(变量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
is,您应该只使用它来检查变量是否存在

在MDN上阅读更多内容:


操作员的
类型在这里非常有用:

typeof asdf
// "undefined"
也许您希望您的案例中有这样的内容:

// Handle cases where `fbuser.orders` is not an array:
var _os = fbuser.orders || []
看看这个,这不是“给我一个指南”。你做了什么研究?