如何检查javascript变量是否存在、空、数组、(数组但为空)、未定义、对象等
如何检查javascript变量是否存在、空、数组、(数组但为空)、未定义、对象等 正如标题中提到的,我需要一个概述,如何在几种情况下检查javascript变量,而不返回导致浏览器停止处理页面加载的任何错误。 (现在我在这个话题上有几个问题 例如,如果操作系统未定义,IE会停止并出现错误,其他浏览器则不会:如何检查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++){
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 || []
看看这个,这不是“给我一个指南”。你做了什么研究?