zoukankan      html  css  js  c++  java
  • 你不知道的 JavaScript 系列中( 20 ) - 永远不要创建和使用空单元数组

    Array 构造函数只带一个数字参数的时候,该参数会被作为数组的预设长度,而非只充当数组中的一个元素。这实非明智之举;一是容易忘记,二是容易出错。更为关键的是,数组并没有预设长度这个概念。这样创建出来的只是一个空数组,只不过它的 length 属性被设置成了指定的值
    我们将包含至少一个 ”空单元“ 的数组称为 ”稀疏数组“
    如果一个数组没有任何单元,但它的 length 属性中却显示有单元数量,这样奇特的数据结构会导致一些怪异的行为
    b 在当前版本的 Chrome 显示为 [undefined, undefined, undefined],而 a 和 c 则为 [empty * 3],火狐显示的事 Array [<3 empty slots>]
    更糟糕的是,a 和 b 的行为有时相同,有时又大相径庭,join 方法得到的结果是一样的
    a.join('-') // "--"
    b.join('-') //"--"
    map 方法返回的结果却大相径庭



  • 相关阅读:
    一个BUG显示了IE7和IE6解析URL中中文参数能力的不同
    Winform+Webservice小结
    精通 JS正则表达式
    JSON
    Jquery
    MongoDB 驱动实践
    概要设计(总体设计)
    LINQ 学习
    MongoDB培训
    数据流程图(需求分析方法和建模工具)
  • 原文地址:https://www.cnblogs.com/wzndkj/p/13838213.html
Copyright © 2011-2022 走看看