http://www.cnblogs.com/qiantuwuliang/archive/2011/01/08/1930499.html
1.基本操作方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
<!---length属性----> <script type= "text/javascript" >
//数组的声明
//var arrayObj=new Array ();//1.创建一个数组
//var arrayObj=new Array(10); //2.
var arrayObj = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 90];
var testValue = arrayObj[1];
arrayObj[1] = "新值哦" ;
//alert(arrayObj[1]);
arrayObj.push(88, 77, 66, 55); //将一个或者多个元素添加到数组的结尾并返回长度
arrayObj.unshift(44, 33, 22, 11) //将一个或者多个元素添加到数组的开始之前的元素往后推,并返回长度。
</script>
<!---- splice------>
<script type= "text/javascript" >
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
document.write(arr + "<br />" )
arr.splice(0, 3, "William" ) //第一个参数表示开始的位置,0表示在最开头,1表示在第一个元素之后。 第二个参数表示删除几个元素 第三个参数 增加的元素
document.write(arr + "<br />" );
arr.pop(); //移除数组的最后一个元素
document.write(arr + " pop() 移除数组的最后一个元素<br />" );
arr.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移
document.write(arr + " shift() 移除最前一个元素并返回该元素值,数组中元素自动前移<br />" );
arr.splice(0, 1) //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素
document.write(arr + " splice(a,b) 删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素<br />" );
</script> |
2.js数组的三大属性
A.length 属性
length表示数组的长度,从0开始。与其他的语言不一样的地方是,数组的长度是可以变化的。不存在数组越界的情况,但是会出现数组元素丢失,而且就算后面恢复数组的长度,也无法收回。举个列子就很明白了。
<script> var arr = [12, 23, 5, 3, 25, 98, 76, 54, 56, 76]; //定义了一个包含10个数字的数组 alert(arr.length); //显示数组的长度10 arr.length = 12; //增大数组的长度 alert(arr.length); //显示数组的长度已经变为12 alert(arr[8]); //显示第9个元素的值,为56 arr.length = 5; //将数组的长度减少到5,索引等于或超过5的元素被丢弃 alert(arr[8]); //显示第9个元素已经变为"undefined" arr.length = 10; //将数组长度恢复为10 alert(arr[8]); //虽然长度被恢复为10,但第9个元素却无法收回,显示"undefined" </script>
而且length不但可以显示的指出和修改也可以使隐式的。
var arr = [12, 23, 5, 3, 25, 98, 76, 54, 56, 76]; alert(arr.length); arr[15] = 34; alert(arr.length);//你猜猜变成了多少
A.prototype 属性
返回对象类型原型的引用。prototype 属性是 object 共有的。用来提供一个对象的类的一些基本功能。对象的实例拥有这个属性。说的有点含糊。举个栗子
<script type="text/javascript"> function array_max() { max = this[0]; for (var i = 1; i < this.length; i++) { if (max < this[i]) max = this[i]; } return max; } Array.prototype.max = array_max; var x = new Array(1, 2, 3, 4, 5, 6); var y = x.max(); </script>
本身单词的意思 就是“原形”的意思。就是拿到数组的本身的那个值。 这里返回最大值 6.
C constructor属性
表示创建对象的函数。本身单词的意思就是“构造”的意思。是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有 JScript 固有对象。constructor 属性保存了对构造特定对象实例的函数的引用。
x = new String("Hi"); if (x.constructor == String) // 进行处理(条件为真)。 function MyFunc { // 函数体。 } y = new MyFunc; if (y.constructor == MyFunc) // 进行处理(条件为真)。