函数那一部分为了尽量的避免踩坑,花了不少时间、精力和篇幅,也从阮老师(阮一峰)的博客找了不少资料过来,同时也推荐一下他的网站: Ruan YiFeng's Personal Website www.ruanyifeng.com 闲话不多说,接着来看看数组。 1 概念 数组( array )是按次序排列的一组数据,每个数据的位置都有对应的编号——从0开始编号,整个数组用方括号标示,如下就是一个成员为 a 、 b 、 c 的数组: let arr = [ 'a' , 'b' , 'c' ]; 上面三个数组成员的位置,分别是 0 、 1 、 2 : 通过数组编号(位置),也可以在定义之后赋值: 由上面的例子,可以看出同一个数组可以支持许多不同类型的数据;事实上,任何类型的数据,都可以放入数组: 如上,数组 arr 的最后三个成员依次是对象、数组和函数。 其中,如果数组的成员还是数组,就形成了多维数组: 本质上,数组属于一种特殊的对象。 typeof 运算符会返回数组的类型是 object : 数组的特殊性其实就是它的键名——按次序排列的一组整数:0,1,2,3…… 我们可以通过 Object.keys 方法查看对象的键名,用它就可以看到数组的键名,即内部编号: 由于数组成员的键名是固定的(默认总是 0 、 1 、 2 ...),因此数组不用为每个元素指定键名,而对象的每个成员都必须指定键名。 JavaScript 语言规定,对象的键名一律为字符串,所以,数组的键名其实也是字符串。之所以可以用数值读取,是因为非字符串的键名会被转为字符串;同样,在赋值时也是成立的——一个值总是先转成字符串,再作为键名进行赋值。如下例: 上面使用了 7.00 作为键名,但由于自动转换为字符串时是 7 ,故而通过数字 7 可以读取对应值。 在讲述对象的章节当中,提及过两种读取对象成员的方法: object.key 和 object[key] ;如果键名为数值, object.key 是不可以使用的。 所以数组作为一种特殊的对象,也同样是只能使用方括号的: 2 length属性 数组的length属性,会返回数组的成员数量: JavaScript 使用一个32位整数,保存数组的元素个数。这意味着,数组成员最多只有 4...