编程语言
首页 > 编程语言> > 奇怪的IE 7 javascript问题

奇怪的IE 7 javascript问题

作者:互联网

我有这个javascript代码在firefox,chrome和safari中工作

for (idx in all_auction_ids){
    alert(all_auction_ids[idx]);
};

对于上面的,而不是获取all_auction_ids中的值,我得到的第一个值是类型函数的文本,看起来像for循环!

但是,如果我运行下面的代码,它工作正常.

for (idx=0;idx<all_auction_ids.length;idx=idx+1){
    alert(all_auction_ids[idx]);
};

编辑:更新

我做了一些调试并发现,添加Orbited和stomp.js可能正在对数组做些什么!

现在我正在使用Tracker1的建议jquery的$.each.

更多信息:
http://groups.google.com/group/orbited-users/browse_thread/thread/7fd658cfb166e9fa

数组有问题
http://bayimg.com/fAnhaAaBb

数组没有问题
http://bayimg.com/FaNhEAabb

解决方法:

JavaScript的for / in构造传统上用于迭代对象成员名称,而不是数组索引.更具前瞻性的浏览器添加了隐藏属性等功能,以帮助像您期望的方式枚举Array这样的情况,但IE仍然以老派的方式进行,并在您使用时为您提供类似’toString’方法的Object成员/在一个数组上.

indexed-for仍然是规范的JavaScript数组循环. (虽然你可能的意思是’for(var idx = …’,’idx’更常见.)

标签:javascript,internet-explorer-7,stomp,orbited
来源: https://codeday.me/bug/20190611/1215172.html