注意:编辑样本以反映我的实际问题,这是数组初始化中的尾随逗号。这个IE array.push错误有一个理智的原因吗?
看起来,原始数组初始化和array.push的混合可以导致索引得到所有whacky。
我这样做:
var iFeelLikeIt = true;
var items = ["thing1", "thing2",];
if (iFeelLikeIt) {
items.push("thing3");
}
items.push("thing4");
在IE7中,(还没有检查6或8个),我的数组是这样的:
- thing1
- thing2
- 不确定
- thing3
- thing4
实际上,它看起来更像是一个按键编号字典,其键为0,1,3,4。
我已经将我的代码更改为初始化一个空数组,并根据需要将所有内容都推送到它上面,并且它表现得很健全。但是想知道是否有人知道这种行为的正当理由?或者是出于正当理由,至少听起来像是一个蹩脚的借口。
不,没有理由会发生这种情况,而且它不会以任何方式重现。完整的测试案例证明错误的行为? – bobince 2010-01-05 00:37:46