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) // 进行处理(条件为真)。
复制代码
posted @ 2014-04-19 02:07  daishuguang  阅读(408)  评论(0编辑  收藏  举报