1.什么是类数组?与数组的区别是什么?
var obj ={
length:3,
"0":'a',
"1":'b',
"2":'c'
} //这就是一个类数组
1.1 类数组是对象类型,key是类似于数组索引
1.2 里面有key也有length
总结:1. 一个拥有length属性和若干索引属性的对象可以被称为类数组对象。
2.类数组是一个普通对象,而真实的数组是Array类型。
3.类数组不能调用数组的API
2.常见的类数组有什么?
2.1 arguments
//arguments
function f1(a,b){
console.log(arguments) // 类数组
console.log(arguments instanceof Array) //false
}
f1(1,2)
2.2 document.queryselectorAll
//假设body标签里面存在很多div标签
var divs = document.querySelectorAll('div')
console.log(divs) //这也是一个类数组 NodeList节点
3.类数组转化成数组方法
Array.from(类数组)
//接着上面的divs
var arr_divs = Array.from(divs)
console.log(arr_divs) //数组
4.用call来实现类数组调用数组的API
var obj = {
length: 3, //类数组必须要有length属性!
'0': 'a',
'1': 'b',
'2': 'c'
}
//可以理解成obj.toArray().slice()
var arr1 = Array.prototype.slice.call(obj, 0, 1) //slice 截取
console.log(arr1);
这个知识点我用不到哈哈哈
以上是我对类数组和数组之间的理解,希望可以帮助到大家!!!
疫情期间一定要带好口罩注意保护好自己!
再附上照片一张