【发布时间】:2016-08-05 21:16:20
【问题描述】:
我正在尝试定义一个对象数组,稍后我可以根据数组的长度属性循环遍历这些对象。在 Internet Explorer 中,它可以正常工作,但在 Chrome 中却不行。下面是定义对象数组的 sn-p 代码:
var status =
[
{
name: 'Open',
target:
[
{
systemgenerated: 'false',
internalonly: 'true',
name: 'Closed'
},
{
systemgenerated: 'true',
internalonly: 'true',
name: 'Done'
}
]
},
{
name: 'Pending',
target:
[
{
systemgenerated: 'false',
internalonly: 'true',
name: 'Closed'
},
{
systemgenerated: 'false',
internalonly: 'true',
name: 'Open'
}
]
}
];
在 Internet Explorer 中,status.length 返回 2。在 Chrome 中,它返回 31。根据我在 Stack 上看到的示例,我尝试了几种不同的方法来定义要获取的对象它像 Chrome 中的数组一样工作,但没有取得任何进展。有没有办法在 Chrome 中定义它,就像我期望一个数组一样?
谢谢!
【问题讨论】:
-
Chrome also returns
2。一定有其他事情发生。 -
奇怪,我可以用相同的代码在 Chrome 中复制这个问题,在 chrome 中显示 31,在 IE 中显示 2 - codepen.io/nagasai/pen/yJRRgd
-
@NagaSaiA 这是因为 jsfiddle 默认将代码包装在 window.onload 内,但 codepen 只是将其放在正文的末尾,而不是任何函数内。在 codepen 中,该变量在 window 对象上的含义,从那里您可以查看 cdrini 的答案以了解接下来会发生什么 =P
标签: javascript arrays google-chrome internet-explorer