关于js中伪数组

Posted 沐子馨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于js中伪数组相关的知识,希望对你有一定的参考价值。

伪数组:

  • 具有length属性;
  • 按索引方式存储数据;
  • 不具有数组的push()、pop()等方法;

  伪数组无法直接调用数组方法或期望length属性有什么特殊的行为,不具有数组的push()、pop()等方法,但仍可以对真正数组遍历方法来遍历它们。这种对象有很多,比较特别的是function内的arguments对象,还有像调用getElementsByTagName, document.childNodes之类的,它们都返回的NodeList对象都属于伪数组,也称为类数组,还有自定义的对象,也属于伪数组。我们可以通过Array.prototype.slice.call(fakeArray)将伪数组转变为真正的Array对象。

代码例子如下:

var fakeArray01 = {0:‘a‘,1:‘b‘,length:2};//这是一个标准的伪数组对象 
var arr01 = Array.prototype.slice.call(fakeArray01); 
alert(arr01[0]);//a 
var arr02 = [].slice.call(fakeArray01); 
alert(arr02[0]);//a 

还有就是,jQuery中的$()对象都是伪数组对象,其中保存的是DOM对象,基于此,也就更好理解jQuery中的this,目前就理解到这里了,就酱!

以上是关于关于js中伪数组的主要内容,如果未能解决你的问题,请参考以下文章

几个关于js数组方法reduce的经典片段

几个关于js数组方法reduce的经典片段

关于IEEEAccess中伪代码的格式小结

js冲刺一下

关于js----------------分享前端开发常用代码片段

js简洁代码片段