JavaScript语言精粹学习之数组

        JavaScript中其实并没有数组,他是一中特殊的对象,是以0,1,2,3······为key值的对象

        {'0':3,'1':2}  数组

let arr=[];
typeof(arr)  //object

当然这种对象是有意义的,很多时候用数组解决问题会比用对象解决问题简单,但是要注意JavaScript中的数组本质是对象,很多现象都能用这个本质来解释

        - JavaScript中和其他语言中的数组一样,用[]加下标来表示一个元素,用[]和用,分隔的值创建。不同的是,因为他是对象,并不会限制各个元素的类型是否一样,也不会限制元素的类型

let arr=['1',3,'shfs',{name:aa}];

        - 数组和对象的区别有很多,其中一个就是length属性,他表示的是数组最后一项的下标加1,需要注意的是,他不像其他语言一样表示数组的长度,因为数组是一个对象,所以其中中间的值可以是空的,即该对象字面量不存在,当数组的某一项为空时,他将返回undefinded,我们可以手动设置length的值,只要给length-1赋值就行了(这里并不会出错,因为这样赋值就是新创建了一个对象字面量,也就是说JavaScript中数组并没有上限)

arr[8]=9; // length值为9

        这里有一个问题就是当我们删除数组中的一项的时候,这一项并不会空出来,而是没有了 ,因为我们只是删除了一个对象字面量,可以用delete删除

        -  因为数组是对象,所以他也继承了对象的方法(比如说for in 遍历),他自身也有许多方法(for each遍历),我们甚至可以添加方法,就像对象一样

arr.get=function(){}

 我们可以用数组的一些特性区分数组和对象,比如length属性,原型为Array,以及一些数组上的特定方法

         

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值