![]() |
1
4
Tests on IE 5.5-6-7-8 showed the exact same behavior. The properties are ordered. The deleted property keeps its position. 但由于这是非标准行为,它可能会与IE9或任何浏览器的下一个版本发生冲突… 也许我错过了什么,但有什么意义?与更健壮的代码相比,节省一些字符,这与第三方广告、跟踪系统、小工具等运行良好? 更不用说支持移动浏览器,以及市场份额很小的桌面浏览器了。 |
![]() |
2
3
浏览器比这里提到的要多:还有其他的当前浏览器和未来的浏览器。它们中没有一个必须在迭代对象属性时实现任何排序,并且不会很长时间,因为最近的ecmascript 5没有指定任何排序。的确, Chrome development team is refusing to change its implementation 尽管有声音要求使其与其他浏览器保持一致。 基于观察到的当前浏览器行为的任何假设充其量都是不可靠的;正如观察到的,并非所有当前浏览器的行为都相同,未来的浏览器可能选择不符合您的假设,并有权这样做。因此,我强烈建议不要依赖于任何代码中的任何特定排序。 |
![]() |
3
1
在winxp pro sp2上的ie8上运行测试可以确认mdc文章。IE8按声明的顺序迭代成员;如果删除现有属性,然后重新分配,则保持其原始迭代位置。其他浏览器(我验证了chrome 5和firefox 3)将重新分配的属性放在迭代顺序的末尾。 |
![]() |
Benjamin BB · Python:组合列表迭代 7 年前 |
![]() |
ptb · 将Torvalds的“好品味”应用于Fortran链表 7 年前 |
![]() |
JerryN · 再次在数据表上进行rowdies迭代 7 年前 |
![]() |
user9578589 · Java条件数组 7 年前 |