我正在检查一个对象
(如关联数组)以查看其中的部分数据是否可用,但我收到了未定义
错误正是在 if
语句中,我正在检查它是否是 undefined
!
我有一个像这样的对象
:
var data = {
1: {
2: {
3: [
["a","b"],
["c","d"],
],
}
}
}
我还尝试过使用双引号,例如: var data = { "1": { "2": { ...
这些是我已经尝试过的 if
语句。所有这些都失败了,Firebug
正在生成TypeError:data[1][2][3]未定义
,恰好在if
语句中:
if (typeof data[1][2][3] == "undefined") {
if (data[1][2][3] === undefined) {
// when I have double quotes
if (typeof data["1"]["2"]["3"] == "undefined") {
if (data["1"]["2"]["3"] === undefined) {
我在 jsfiddle.net 上检查过,它工作正常。我尝试了所有我能想象到的事情,但我仍然不知道为什么它在 if
语句中失败。
更新
看看这个,天哪:
最佳答案
如果variable[1][2][3]
未定义,脚本无法检查variable[1][2][3][4]
是否为未定义或未定义。您应该检查树的整个深度是否未定义
if(1 in variable)
{
if(2 in variable[1])
{
if(3 in variable[1][2])
{
if(typeof variable[1][2][3][4] === 'undefined'){
// Do something
}
}
}
}
关于javascript - 在 if 语句中检查 "undefined"时出现 "undefined"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16142957/