数组 1.0

来源:互联网 发布:中国的权贵阶层 知乎 编辑:程序博客网 时间:2024/04/30 18:02

      Java中,数组是一段线性分配的内存,它可以通过下标访问其中的元素。而JavaScript中的数组是采用了一种类似数组特性的对象,它把数组的下标转变成了一个字符串的属性保存在该对象中,故JavaScript中的数组比Java中的数组(真正的数组)要慢!但它可以更方便地使用!

      数组定义:

            Java中:

                       Object[]  o = new Object[4];

                         ------->o[1]=null

                         ------->o.length=4

            Java等大多数语言中,数组的所有元素类型必须相同,而由于JavaScript是弱数据类型的语言,所以数组中可以包含任意混合类型的值。

            JavaScript:

                       var empty=[];

                          ------>empty[1]=undefined

                          ------>empty.length=0

 

                       var numbers=['one','two','three']

                       var numbers_object={

                            '0':'one','1':'two','2':'three'

                       }

                        numbers和numbers_object的相同点和不同之处:

                              ·相同点:两者的属性有相同的名字和值

                              ·不同:numbers继承Array。prototype,而number_object继承Object_prototype,所以numbers有许多内置方法和length属性,而numbers_objects没有。

           添加元素:

                        numbers[numbers.length]='four';

                        number.push('go');

           删除元素:

                        delete numbers[1]     -------------->['one',undefined,'three']

                        numbers,splice(1,1)   -------------->['one','three']

 

           在JavaScript中区别数组和对象上没有好多机制:(以下提供了一个is_array函数来解决该问题在)

                        var is_array = funcion(value){

 

                                  return value&&typeof value==='object'&&

                                                       typeof value==='number'&&

                                                       typeof value.splice==='function'&&

                                                       !(value.propertyisEnumberable('length'));

                        }

              

          方法:

                添加方法:

                Array.method('reduce',function(f,value){

                        ......                         

                });

 

 

 

原创粉丝点击