什么是类数组?
1、有下标,有length,有push和splice,就是一个类数组。
2、既可以但数组用、也可以当对象用。
3、DOM里面的数组都是类数组。
<script>
var arr=[1,2,3];
var obj={
0:1,
1:2,
2:3,
length:3,
push:Array.prototype.push,
};
</script>
浏览器控制台结果
数组是数组对象是对象
添加splice方法
var obj={
0:1,
1:2,
2:3,
length:3,
push:Array.prototype.push,
splice:Array.prototype.splice,
};
再次打印结果
此时的对象是个[]形式的
在后面push一下
arr.push(4);
obj.push(4);
然后在查看对象的长度、结果他自增了
阿里面试真题
问 console.log后的结果是什么样子的。
var obj={
2:'a',
3:'b',
length:2,
push:Array.prototype.push,
splice:Array.prototype.splice,
};
obj.push('c');
obj.push('d');
console.log(obj);
结果:
原因、push的原理类似、
obj.push=function (x){
obj[obj.length]=x;
obj.length++;
}
程序是任务0和1是有东西的、所以当push到的时候 正好是已经有的下标、所以。。