`
caiceclb
  • 浏览: 242422 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

尽量避免使用For..In语法

阅读更多

群里无意引发的一个问题,:天天:给出了一个For...In语法的浏览器实现差异。

 

    //:Lamo-?:无意出的一题,本意是障眼法,但是你在不同的浏览器运行,结果却不同
    var str = '',arr = [];
    arr[1]  = 'b';
    arr[0]  = 'a';
    arr[2]  = 'c';
    for(var k in arr){
        str += arr[k];
    }
    alert(str); 

 

IE下是bac, Opera偶运行是abc。

 

:天天:说for in的顺序是不可靠的,ECMAScript“明确”的说明了,可以不相同,不同浏览器可以有不同的实现。。。囧,看样子确实是这样,感叹js太过于灵活,但是这样明显无好处,而为了写兼容的代码,还需尽量避免使用For...In语法。

 

此记,以备后忘。

分享到:
评论

相关推荐

    javascript数组遍历for与for in区别详解

    2. 如果需要扩展JavaScript的原生类,尽量避免使用`prototype`,而是考虑使用类的实例方法或者使用ES6的类语法,这样可以避免对全局对象造成污染,提高代码的隔离性和可预测性。 总的来说,理解和正确使用`for`循环...

    【Python教程】Python基础语法.docx

    6. **避免使用特定字符**:为了避免混淆,尽量不要让字母`l`和数字`1`,字母`o`和数字`0`相邻出现。 7. **英文中夹杂中文**:虽然在技术上可行,但由于可读性问题,这种做法应当避免。 8. **避免使用关键字和内置...

    JavaScript性能

    2. 尽量避免使用全局变量,因为全局变量存储在全局对象中,查找速度慢。 3. 缓存经常使用的全局变量,减少全局作用域查找的次数。 4. 避免使用with语句,它会改变作用域链,降低查找效率。 在核心语法优化上,可以...

    3分钟快速入门Python基础语法.docx

    - 避免使用Python的关键字作为标识符。 - 尽量使标识符具有描述性,以便于理解其用途。 - **关键字**是指Python语言中预定义的具有特定含义的标识符。例如,`if`、`for`、`class` 等都是关键字。使用关键字作为...

    JavaScript风格指南

    - 尽量避免全局变量,保持代码的封装性。 10. **测试**: - 编写单元测试以验证函数的行为,确保代码的健壮性。 - 使用TDD(Test-Driven Development)方式编写代码,先写测试再实现功能。 以上只是JavaScript...

    JavaScript性能优化技巧分享共8页.pdf.zip

    避免使用`for...in`循环遍历数组,应使用`for`循环或`Array.prototype.forEach()`。 - **concat() vs. +=**:合并数组时,使用`concat()`而不是`+=`,因为`+=`会创建新的数组副本。 5. **对象优化** - **使用字面...

    Java Script Best Practices

    然而,使用`for...in`循环遍历数组时,会包含原型链上的所有属性,包括那些非数组元素。这可能导致意外的结果。为了避免这种情况,推荐使用传统的`for`循环,如`for(var i=0; i<arr.length; i++)`。如果仍然使用`for...

    数据访问层性能优化策略.pdf

    因此,应该尽量避免通过异常来控制程序流程,而是在逻辑上明确可能出现错误的地方预先处理。 **2.4 限制晚期绑定的使用** Visual Basic .NET 支持晚期绑定调用,这意味着可以在运行时动态确定对象的类型。尽管这...

    Fast linear algebra in MATLAB.zip

    2. 使用向量化操作:MATLAB对向量和矩阵的元素级运算非常高效,尽量使用向量化表达式代替循环,如`A .* B`(元素级乘法)代替`for`循环逐元素相乘。 三、线性代数函数与工具箱 1. `eig`函数:用于计算矩阵的特征值...

    英语四级4级高分写作模板预测范文.pdf

    - **评分重点:**要求考生能够正确表达思想,确保文章意义连贯,并尽量避免重大语法错误。写作内容涵盖日常生活及一般常识。 **2. 评分标准:** - **14分档:**文章切题,表达清晰流畅,几乎无语言错误,可能有极...

    通用脚本样式总结使用

    - 循环结构:`for`, `while`, `do...while`,以及ES6引入的`for...of`和`for...in`循环。 - 函数:包括函数声明和函数表达式,以及箭头函数(`=>`)。 - 对象和数组:创建和操作对象及数组的方法,如`Object.keys...

    使用java语言理解逻辑程序.pdf

    不过,我会尽量从这些碎片化的信息中,梳理出Java语言相关的知识点,主要包括Java平台、基本语法、面向对象编程、异常处理、集合框架和Java文档注释等方面。 1. Java平台版本 文档中提到了Java SE(Standard ...

    Verilog HDL 可综合语法总结

    14. **避免在case语句的分支项中使用x值或z值**:这些值通常是不可综合的。 #### 三、不可综合的语句 除了上述提到的基本原则外,还有一些具体的语句是不可综合的: 1. **initial**:仅用于测试bench,不能综合。...

    如何提高javascript的效率

    6. **避免在关键函数中使用 `for-in` 循环**:`for-in` 用于遍历对象属性,但在性能敏感的代码中,应优先考虑使用 `for` 循环或其他数据结构。 7. **优化字符串合并**:对于字符串拼接,使用数组的 `join()` 方法...

    英语考试资料

    最后,应尽量避免单词拼写错误。本次作文常见的卷面拼写错误... 校园网在大学英语教学中的应用 四级辅导、六级辅导、考前强化训练等资料。 硕士英语 包括部分考研辅导文章、考研大... # 相似词语辨析 # 活用英语...

    Google JavaScript 编码规范

    9. **for-in循环**:在使用`for-in`循环遍历对象属性时,应当使用`hasOwnProperty()`方法来检查属性是否是对象自身的属性,避免遍历到原型链上的属性。 10. **关联数组**:由于JavaScript对象本质就是关联数组,...

    详解javascript遍历方式

    同时,由于`for...in`循环会遍历对象的所有属性,包括原型链中的属性,因此通常需要使用`hasOwnProperty`方法进行判断和过滤。 `forEach`方法是一个数组的高阶函数,用于替代传统的`for`循环。它的语法如下: ```...

    JavaScript手册

    - 避免DOM操作:频繁操作DOM会降低性能,应尽量减少操作次数或使用文档片段。 - 使用缓存:避免重复计算,利用变量或对象存储中间结果。 这本"JavaScript手册"将深入探讨以上各点,为开发者提供全面的JavaScript...

    可综合的Verilog语法子集总汇[参照].pdf

    - 尽量避免直接使用门级元件描述,优先使用行为语句。 - 在`always`块中描述组合逻辑时,要列出所有输入信号。 - 所有内部寄存器需要有复位信号,FPGA实现时优先使用全局复位。 - 使用非阻塞赋值描述时序逻辑,避免...

Global site tag (gtag.js) - Google Analytics