Javascript 检查 undefined 是否不起作用
Javascript check if undefined doesnt work
我想检查一个对象是否被定义..
对象的内容:
所以我会做:
if (e.model.item.state != "undefined"){
var stateID = e.model.item.state.id;
....
}
else{
}
然后 e.model.item.state 未定义,但它确实进入 if 子句并在此处停止:
var stateID = e.model.item.state.id;
因为未定义..!
我也试过:
!== "undefined"
!=== "undefined"
您通过以下方式之一检查 undefined
:
var a;
if( a === undefined )
或
if( typeof a === "undefined" )
"undefined"
不等于 undefined
。因此,如果您直接比较是否相等,请在不带引号的情况下使用它。如果您使用 typeof
运算符,则需要使用引号,因为 typeof
总是 returns 一个字符串值。
"undefined"
与 undefined
不同。第一个是其中包含 'undefined' 单词的字符串,另一个是未定义变量的保留 js 术语。
做something == "undefined"
是将它与字符串进行比较。您应该删除引号。
在 JS 中,你可以检查一个变量是 undefined
、null
、false
还是 0
只需简单地做,
if (e.model.item.state) {
// e.model.item.state is NOT `undefined`, `null`, `false` or `0`
}
else {
// e.model.item.state is either `undefined`, `null`, `false` or `0`
}
最好用这个来避免不必要的undefined error
:-
if (e && e.model && e.model.item & e.model.item.state) {
// e.model.item.state is NOT `undefined`, `null`, `false` or `0`
}
我想检查一个对象是否被定义..
对象的内容:
所以我会做:
if (e.model.item.state != "undefined"){
var stateID = e.model.item.state.id;
....
}
else{
}
然后 e.model.item.state 未定义,但它确实进入 if 子句并在此处停止:
var stateID = e.model.item.state.id;
因为未定义..!
我也试过:
!== "undefined"
!=== "undefined"
您通过以下方式之一检查 undefined
:
var a;
if( a === undefined )
或
if( typeof a === "undefined" )
"undefined"
不等于 undefined
。因此,如果您直接比较是否相等,请在不带引号的情况下使用它。如果您使用 typeof
运算符,则需要使用引号,因为 typeof
总是 returns 一个字符串值。
"undefined"
与 undefined
不同。第一个是其中包含 'undefined' 单词的字符串,另一个是未定义变量的保留 js 术语。
做something == "undefined"
是将它与字符串进行比较。您应该删除引号。
在 JS 中,你可以检查一个变量是 undefined
、null
、false
还是 0
只需简单地做,
if (e.model.item.state) {
// e.model.item.state is NOT `undefined`, `null`, `false` or `0`
}
else {
// e.model.item.state is either `undefined`, `null`, `false` or `0`
}
最好用这个来避免不必要的undefined error
:-
if (e && e.model && e.model.item & e.model.item.state) {
// e.model.item.state is NOT `undefined`, `null`, `false` or `0`
}