`
zhouyrt
  • 浏览: 1141744 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

各浏览器中for in顺序的差异

 
阅读更多

这个问题在sohu博客中也有:写博客-插入图片图片顺序在Chrome/IE9中却不对。重现如下

 

var obj = {
  2:"2",
  40:"40",
  15:"15",
};
for (var k in obj) {
    console.log(k); 
};

 

IE6/7/8/Firefox/Safari
2
40
15

IE9/Chrome/Opera
2
15
40

即IE9/Chrome/Opera中不是按定义时的顺序输出的。for in规则参考ECMAScript5 12.6.4。

 

相关:

for in的缺陷

0
0
分享到:
评论

相关推荐

    javascript for-in有序遍历json数据并探讨各个浏览器差异

    根据 ECMA-262(ECMAScript)第三版中描述,for-in 语句的属性遍历的顺序是由对象定义时属性的书写顺序决定的。 关于 ECMA-262(ECMAScript)第三版中 for-in 语句的更多信息,请参考 ECMA-262 3rd Edition 中 12.6....

    详谈js中标准for循环与foreach(for in)的区别

    在JavaScript中,遍历数组通常有两种方式:标准的`for`循环和`forEach`方法(`for...in`循环在数组遍历中并不推荐)。这两种方法在基础使用时可能看起来相似,但它们在内部实现和使用场景上存在显著差异。 首先,让...

    javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历

    在不同的浏览器中,JavaScript的实现可能略有差异。因此,为了确保代码的兼容性,开发者通常会通过检查`navigator.userAgent`属性来识别用户使用的浏览器类型。在提供的代码中,`_jsc.client`对象通过检查`...

    JavaScript遍历Json串浏览器输出的结果不统一问题

    然而,JavaScript引擎对`for...in`循环遍历属性的顺序并不保证,尤其是当属性名称为数字时。不同浏览器可能按照不同的规则来处理这些属性,导致遍历顺序不一致。例如,Chrome和Firefox可能会按照数字大小排序,而IE8...

    IE6兼容笔记

    在不同的浏览器中,层叠顺序(Z-index)的处理方式存在差异。IE6和IE7在处理Z-index时也有其特定的规则。理解这些规则对于解决跨浏览器兼容性问题是至关重要的。 **IE6/IE7规则:** 1. **父级层叠上下文的背景、...

    行python代码写一个语言检测器.pdf

    描述中的内容强调了语言检测的普遍性和实用性,如Chrome浏览器和Facebook如何识别和翻译不同语言。 在自然语言处理(NLP)领域,语言检测是一个重要的任务,它涉及对文本的分析以确定其语言类型。这个过程通常基于...

    前端工程师面试题题及答案(全面综合).docx

    - 题目中`for(var i in emp)`应被替换为`for(var i = 0; i ; i++)`,因为`emp.length`获取数组长度,而非使用`length()`方法。 3. Document对象的方法: - `focus()`:使元素获得焦点。 - `getElementById()`:...

    JavaScript绑定事件监听函数的通用方法

    该方法满足了前述要求的前四点,但在第五点上由于JavaScript的for/in循环顺序的不确定性,可能存在执行顺序上的差异。 Dean Edward的方法通过为每个事件处理函数生成一个唯一的标识符($$guid),并且在事件触发时...

    前端程序员必需知道的高性能Javascript学问_.docx

    - **属性访问方式**:虽然使用点表示法(如`object.name`)和括号表示法(如`object["name"]`)在大多数浏览器中性能差异不大,但在Safari浏览器中,点表示法始终更快。 #### 二、循环优化 JavaScript中有多种循环...

    js 性能优化之算法和流程控制

    同样,如果可以确定遍历的顺序,尽量颠倒数组的遍历顺序,因为某些浏览器在向前遍历时比向后遍历时性能更好。 2. 减少循环中函数的调用次数:函数调用是循环中开销较大的操作之一。如果可以的话,尽量将需要频繁...

    行python代码写一个语言检测器.docx

    return [self.text[i:i + self.n] for i in range(len(self.text) - self.n + 1)] def get_frequency(self): return Counter(self.ngrams) def detect_language(text, n=2, known_languages={}): detector = ...

    java程序员应该掌握的css

    11. **CSS重置与 Normalize.css**:理解为什么需要CSS重置,以及Normalize.css的作用,以消除浏览器默认样式差异,实现更一致的跨浏览器渲染。 12. **CSS性能优化**:学习减少HTTP请求、使用CSS Sprites、合理组织...

    JavaScript程序中的流程控制语句用法总结

    由于ECMAScript对象的属性没有固定的顺序,因此使用for-in循环得到的属性名的顺序可能因浏览器的不同而有所差异。 最后,还有一些控制执行流程的语句,如break、continue和return。 break语句用于立即退出循环,...

    手机端web焦点图片

    为了确保在不同手机浏览器上的兼容性,开发者需要考虑各种设备的屏幕尺寸、分辨率、浏览器差异等问题,可能需要借助响应式设计、媒体查询(Media Queries)以及对各类移动浏览器(如Chrome、Safari、Firefox Mobile...

    超级有影响力霸气的Java面试题大全文档

     forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。...

Global site tag (gtag.js) - Google Analytics