IE 8中的Javascript数组
据我所知,Javascript中的数组不过是方法和对象的组合。
现在我的任务是显示数组的值(比如
y_array
)
我使用了for(x in y_array)
,然后显示了值。
在mozilla和IE中,它可以正常工作,但是在IE中,它显示数组的第一个元素,索引为indexOf
,值是indexOf(obj, from)
,这是我不想要的。
我试过了
if(x!=\'indexOf\') { display the array value ; }
它工作正常,一切都很好,但是已经广泛使用了数组,我正在寻找一些永久性的修复方法,而不是这种硬编码的方法。
谁能帮帮我吗?
没有找到相关结果
已邀请:
3 个回复
磨标烫徽啪
对象看起来像:
数组的第一个元素是索引为0的元素(因此行中的第一个位置的索引值为0)。使用
检索 对象是无序的,因此它没有第一个元素。您可以使用
或
从其中检索任何元素。 对于数组,您可以使用循环遍历编号索引直到到达数组末尾的循环:
对于对象,请使用键和
运算符使用循环(确保仅使用
方法检索对象的用户定义属性):
基本上,将数组想像成带有抽屉的橱柜,每个抽屉都包含一个值。可以想象一个对象是一堆箱子,盖子上有贴纸,描述了箱子的内容。您从一个物体取回东西,您问:x堆中是否有一个带有贴纸y的盒子,如果是,里面是什么?您要从数组中检索某些内容,请问:请给我抽屉nr x的内容。 现在关于您的问题:使用
循环检索值的数组包含一个用户定义的方法,即
。使用对象样式循环,将数组视为对象,并同时显示
键(我打赌像value17ѭ这样的值)。 IE这就是为什么在数组上进行迭代时最好使用带有数字索引的传统for循环。 为什么这仅在IE中?在现代浏览器中,
是
原型的本机方法,并且不显示本机方法(除非您遍历它们的原型)。 IE <9没有用于数组的本机indexOf方法。您在脚本中使用的某个位置,该方法已作为用户定义的扩展名添加到Array原型中。 问题的底线:不要使用ѭ20来遍历数组的值。
蕉衫
对于对象(对象就像关联数组-属性:值),请使用以下循环:
惜堡沁戚