js的数组
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) // 进行处理(条件为真)。
出处:http://cnblogs.com/daishuguang