Array类型:

  ECMAScript数组的每一项可以保存任何类型的数据,数组的大小是可以动态调整的。

创建数组的基本方式:

(1)使用Array构造函数

 var color=new Array();

注意:

  给构造函数传递一个值时,如果传递的是数值,则会按照该数值创建包含给定项数的数组;如果传递的是其他类型的参数,则会创建包含那个值的只有一项的数组。

eg:

 var color=new Array(3);//创建一个包含3项的数组
var name=new Array("Mary");//创建包含一项,即字符串“Mary”的数组

使用Array构造函数也可以省略new操作符:

eg:

 var name=Array("Mary");//创建包含一项,即字符串“Mary”的数组
alert(name);

(2)使用数组字面量表示法:

eg:

 var color=["red","blue","green"];
var names=[];//创建一个空数组
var values=[1,2,];//不要这样,会创建包含2项或是3项的数组
var opyions=[,,,,,];//不要这样,会创建包含5项或是6项的数组

注意:

  (1)如上例子中的第三行,在IE中,values会成为一个包含3个项且每一项的值分别是1,2和undefined的数组,在其他浏览器中,values会成为一个包含2项的数组,值分别是1和2。原因是IE8及之前的版本中的ECMAScript实现数组字面量方面存在bug。

  (2)与对象一样,使用数组字面量表示法,也不会调用Array构造函数。(Firefox3及更早的版本除外。)

  (3)在读取和设置的值时,要使用方括号提供相应值的基于0的数值索引。

eg:

  var color=["red","blue","green"];
alert(color[0]);//显示第1项
color[2]="black";//修改第3项
color[3]="browm";//新增第4项

  (4)数组的项数保存在其length属性中,这个属性始终会返回0或是更大的数,它不是只读的,因此可以通过设置这个属性,从数组的末尾移除项或是向数组中添加项。

eg:

 var colors=["red","blue","pink"];
alert(colors.length);//
colors.length=2;
alert(colors[2]);
alert(colors.length);//

(4)可以利用length属性在数组末添加新项:

eg:

 var colors=["red"];
colors[colors.length]="black";
colors[colors.length]="pink";
alert(colors.length);//
alert(colors[2]);//pink

  由于数组最后一项的索引始终是length,因此下一新项的位置就是length。每当在数组末尾填加一项后,其length属性都自动更新以反应这一变化。

注意:

  Javascript使用一个32位整数,保存数组的元素个数。这意味着数组的成员最多只有4294967295个(即2的32次方)。。如果想添加的项数超过这个上限值,就会发生异常,而创建一个初始化大小与这个上限值接近的数组,则可能导致运行时间超长的脚本错误。

JS_高程5.引用类型(2)Array类型的更多相关文章

  1. JavaScript引用类型之Array类型一

    一.简介 除了Object之外,Array类型恐怕是ECMAScript中最常用的类型了.下面就来分析ECMAScript中的数组与其他语言中的数组的异同性: 1.相同点: (1)他们都是数据的有序列 ...

  2. 引用类型之Array类型

    Array类型 ECMAScript数组与其它语言数组一样,都是数据的有序列表.但是ECMAScript数组的每一项可以保存任何类型的数据.而且,ECMAScript数组是可以动态调整的. 1.创建和 ...

  3. JavaScript引用类型之Array类型API详解

    Array类型也是ECMASCRIPT中最常见的数据类型,而且数据的每一项可以保存任何类型的数值,而且数组的大小是可以动态调整的,可以随着数据的添加自动增长以容纳新的数据.下面,总结数据的一些常用方法 ...

  4. JS_高程5.引用类型(4)Array类型的各类方法

    一.转换方法 所有的对象都具有toLocaleString(),toString()和valueOf()方法.调用toString()方法会返回由数组中的每个值的字符串拼接而成的一个以逗号分隔的字符串 ...

  5. JS_高程5.引用类型(3)Array类型-检测数组

    1. instanceof操作符(ECMAScript3) 对于一个网页,或者是一个全局作用域而言,使用instanceof操作符来检测数组就可以得到满意的结果. 语法:if(value instan ...

  6. JS_高程5.引用类型(6)Array类型的位置方法,迭代方法,归并方法

    一.位置方法 ECMAScript5为数组实例添加了两个位置:indexOf()和 lastIndexOf().这两个方法接收两个参数:要查找的项和(可选的)表示查找起点位置的索引(如在数组[7,8, ...

  7. JS_高程5.引用类型(5)Array类型的操作方法

    一.操作方法 1.concat()方法 基于当前数组中的所有项创建一个新数组.具体说,是先创建当前数组的一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组.在没有给concat() ...

  8. JS_高程5.引用类型(1)Object类型

    引用类型 在ECMASCript中,引用类型是一种数据结构,将数据和功能组织在一起,引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法.(注意:尽管ECMAScript从技术上 ...

  9. JavaScript之引用类型(Array类型)

    除了Object类型,Array是ECMAScript中最常用的类型了. 与其他语言不同的是,ECMAScript数组的每一项可以保存任何类型的数据. 而且,ECMAScript数组的大小是可以动态调 ...

随机推荐

  1. Git和Github入门教程

    一.常用命令 所有命令前都要加 git,如表中的init是指 git init.点击命令可直接跳转至本文第一次使用的地方.以下命令都在命令行里执行. 1.本地命令 行为 命令 备注 初始化 init ...

  2. BZOJ 1706

    题解: 倍增+floyd 首先这题比较容易想到是把每个点拆点做dij 但是这样复杂度是knlogn的 这道题的k较大,所以不行 我们考虑到每走一步,其实就是在进行一次floyd 而这个可以看成矩阵乘法 ...

  3. 【ASP.NET】UCenter实现多站点同步登录退出

    利用UCenter实现discuz论坛和应用网站同步登录和退出功能 测试环境:Discuz! X3.2.UCenter 1.6..Net Framework 4.0 进入Discuz 后台的UCent ...

  4. 一起学Hadoop——TotalOrderPartitioner类实现全局排序

    Hadoop排序,从大的范围来说有两种排序,一种是按照key排序,一种是按照value排序.如果按照value排序,只需在map函数中将key和value对调,然后在reduce函数中在对调回去.从小 ...

  5. Docker镜像、容器剖析

    我们通常所说的docker是什么? 在这里英文本意为“搬运工”这里指的的docker搬运点的是集装箱,集装箱装的是够任意类型的APP,开发者通过Docker可以将app变成一种标准化,可移植的.自管理 ...

  6. LeetCode竞赛题:K 次取反后最大化的数组和(给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次。)

    给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次.(我们可以多次选择同一个索引 i.) 以这种方式修改数组后 ...

  7. JavaEE 之 log4j

    1.log4j a.概念:一个非常优秀的开源日志记录工具 b.配置: ①src同目录下建立log4j.properties文件,书写: log4j.rootLogger=debug,appender1 ...

  8. ZOJ 3795 Grouping (强连通缩点+DP最长路)

    <题目链接> 题目大意: n个人,m条关系,每条关系a >= b,说明a,b之间是可比较的,如果还有b >= c,则说明b,c之间,a,c之间都是可以比较的.问至少需要多少个集 ...

  9. Person Re-ID行人重试别数据集

    1. 杜克大学数据(DukeMTMC-reID) DukeMTMC 数据集是一个大规模标记的多目标多摄像机行人跟踪数据集.它提供了一个由 8 个同步摄像机记录的新型大型高清视频数据集,具有 7,000 ...

  10. HDU 5113

    HDU 5113类似四色定理的什么东西,大体就是dfs了,不过有两个坑点,这个题的逼格瞬间就上去了1.剪枝很神奇,任何一种颜色都不能超过剩下总格子数的一半,想想确实显然但是比赛的时候没有想到:2.测评 ...