zoukankan      html  css  js  c++  java
  • 数组

    数组是值的 有序集合。

    js中数组是无类型的。

    js中数组的索引是基于零的32位数值,最大能容纳 2^32-1 个元素。

    js中数组是动态的,不需手动分配空间。

    js中数组可能是稀疏的:数组元素的索引不一定要连续,之间可以有空缺。

    数组继承自 Array.prototype ,是js对象的特殊形式( {'0':0}  &&   [0] ).

    数组的实现经过优化,用数组索引访问数组元素比对象访问属性快。

    数组直接量中的值可以是任意表达式。

    直接量语法允许可选的结尾的逗号。 [,].length   1    [,,].length  2    [,,,3].length   4

    构造函数创建数组三种形式:

    new Array()      []

    new Array(10)   [empty × 10]

    new Array(10,20)    [10, 20]

    [1,2][1.00]    2  

    [1,2]['1.00']     undefined     数组回归对象本性

    稀疏数组 索引处值为 undefined empty 区别:

    0 in [,,,]  false    

    0 in [undefined,undefined,,]    true

    0 in new Array(3)   false

    var a=[1,2,3]

    a.length=2     [1, 2]    // 截断

    a.length=5    [1, 2, empty × 3]    // 扩展原有长度   不存在元素为空

    es5 提供设置属性为只读   var a=[1,2,3]

    Object.defineProperty(a,'length',{'writable':false});

    a.length=0   

    a     [1, 2, 3]

    delete   不改变数组长度    (delete数组元素后,变为稀疏数组)

    var  a=[1,2,3]   

    delete a[1]  // true

    a     // [1, empty, 3]

    1 in a    // false

    push  pop   数组尾部增减

    unshift  shift   数组首部增减

    splice  插入、删除、替换数组元素

    for in 与常规 for循环相比,推荐使用常规 for 循环

    for  in  能枚举继承的属性名  for(var i in a){ if( !a.hasOwnProperty(i) )  continue;  //code body }   //筛选

    for  in  循环不一定按顺序执行(可能是按照创建顺序执行)

    es5     forEach             [1,2].forEach(function(x){ // code  });

  • 相关阅读:
    jstree单选功能的实现方法
    JavaScript之HTML DOM Document 对象
    任意用户密码重置漏洞
    MESSAGE_TYPE_X dump in RSM_DATASTATE_CHECK -6-
    高版本Visual Studio和低版本ArcGIS共存 工具箱没有控件的解决方法
    定制Dynamics 365 Portal 界面
    从组件文档引发的惨案 ◤1◢
    图文结合深入理解 JS 中的 this 值
    js获取时间差值
    vscode 同步扩展插件
  • 原文地址:https://www.cnblogs.com/justSmile2/p/9870062.html
Copyright © 2011-2022 走看看