目录
1.创建对象和数组
创建对象
let obj1 = {}
let obj2 = new Object()
创建数组
let arr1 = []
let arr2 = new Array()
2.对象和数组的关系
有句话说的好,万物皆对象。JavaScript是有原型继承的,所有的JavaScript的内置构造函数都是继承自Object.prototype。在这个前提下,可以理解成使用内置对象方法创建的新对象(new Array和 [ ])等,都是拥有Object.prototype的属性。
扫描二维码关注公众号,回复:
14970053 查看本文章
3.数组和伪数组
数组本质上就是一个有秩序的集合。数组的元素可以是任意类型,但一般我们设置一个新的数组时,都是保持该数组内元素的,类型一致。
数组具有长度,且长度可变。数组的长度length属性是一个内置属性,所有的数组都有length属性。
伪数组是一个对象object,具有一个length属性,一般以下标作为属性。例如arguments,还有dom中获取的节点对象列表也是一个伪数组。
伪数组变成真数组的方法
function fn1(a,b,c){
return Array.prototype.slice.call(arguments)
}
let arr = fn1(1,2,3)
console.log(arr) //[1,2,3]
function fn2(...arguments){
return arguments
}
let newArr = fn(1,2,3)
console.log(newArr) //[1,2,3]
数组可以使用数组的所有方法,但是伪数组不可以直接使用数组的方法,需要先将伪数组变为真数组才能使用数组的所有方法。