天天看点

js基础--javascript基础概念之数组

js基础--javascript基础概念之数组

在ECMAScript 中 ,数组是很常用的数据类型,js中的数组和其他很多语言的数组有明显的区别。js的数组可以保持任何类型的数值,一个数组中可以保存着多个不同类型的数值。js数组大小(长度)是可以调整的。可以随着数据的添加自动增长数组长度。

创建数组:

一.数组字面量

数组字面量由一对包含数组项的方括号[]表示。

创建一个空数组:

创建数组错误方法:

如果你:

在chrome中是创建长度为2的数组。

二.使用构造函数

如果想要给数组指定保存的项目数量,可以给构造函数传递该数量(长度)。如:

也可以使用构造函数创建数组时直接给数组传递值。如:

使用构造函数创建数组可以省略new 操作符。如:

数组的访问、设置、新增。

访问:

对于这样一个数组:

方括号中的数值为要访问数组的值,如果方括号中的数组小于数组中的项值,那么则会访问到数组中对应的项。

关于读取数组中最后的一个值,你也可以这样:

设置|新增

数值的length属性不单单可以用来访问数组的具体某一项值,还可以对数值进行添加修改数组值。如:

另外。数组可以使用length属性对数值进行移除数值项。如:

由于数组的最后一个位置始终是length-1,所以下一个新的数值项就是length。每当数组末尾添加一个项后。起length属性都会自动更新以反应这一变化。当然你也可以像下面一样在数组末尾添加一个新值。

但是,假如当你将数组的length属性设置为10,你在数组后面新添加的数值项将是11.如

数组的检测

使用 instanceof  检测;

如:

当是,使用instanceof 有一个弊端。它只能有一个全局环境。如果网页中包含多个框架那么,就是说页面中有多个全局环境了,而存在两个以上不用的Array 构造函数,如果一个框架像另一个框架传入一个数组。那么,传入的数组与在第二个框架中原生创建的数组分别具有各自不同的构造函数。新的方法可以解决这个问题。

如下: 

Array.isArray(数组名称)  支持这个方法的浏览器有IE9 Firefox safari ……

数组转换方法

在js中  所有对象都具有toLocaleString() 、 toString() 、 valueOf() 方法。

在数组中  调用toString()方法会由数组中每个值的字符串拼接成由逗号分隔的一个字符串。如:

调用valueOf() 方法返回的则依然是一个数组。但是他为了这个数组中每一个值都调用了一遍toString() 方法。然后输出的依然是这个数组。

如果直接使用

和使用toString() 方法是几乎一样的效果的。因为数组直接传递到了alert  而alert 会在后台调用toString() 方法。然后alert。

继续阅读