数组 1.0

      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){

                        ......                         

                });

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值