美文网首页
call与类数组

call与类数组

作者: 阿辽沙233 | 来源:发表于2018-11-09 14:20 被阅读0次

类数组

必须具备条件:

1.属性为索引属性,即数字。

2.必须要有length属性,最好加上push方法 即Array.prototype.push

3.一旦加上splice之后,对象将长得跟数组一样(即中括号)Array.prototype.splice

        *常见的类数组有 1.函数的argument 2.Nodelist(节点集合) 3.HTMLCollection(元素集合)

        *将类数组转换为数组需要借用到call():

        “

        //假设body中有5个div

        //类数组如何转换为正常数组

        //元素类数组转为数组

        var ndLis = document.getElmentByName("div");

var ndArray = Array.prototype.slice.call(ndLis);//此时NDArray为正常数组 

//节点类数组去转为数组

var hLis = document.getElmentByTagName("div");

var HArray = Array.prototype.slice.call(hLis);//此时的HArray为正常数组

  //将argument类数组转换为数组

function agu (){

var aguArray = Array.prototype.slice.call(argument)//此时的argument为正常数组

}

        ”

        *还可以用空数组数组实例通过原型链去调用slice 如:[].slice.call(argument);

        *在IE6~8当中不支持节点集合和元素集合的类数组转为正常数组(需要做兼容)

var hList = document.getElementsByTagName("div");

// console.dir(hList);

var ndList = document.getElementsByName("zhu");

// console.dir(ndList);

var ary = Array.prototype.slice.call(ndList);

console.dir(ary);

相关文章

  • call与类数组

    类数组 必须具备条件: 1.属性为索引属性,即数字。 2.必须要有length属性,最好加上push方法 即Arr...

  • 类数组问题

    类数组长什么样子? 类数组怎么转化为数组呢? 1.使用 Array.prototype.slice.call(【类...

  • 2019-04-18将类数组对象转换成数组的方法总结

    Array.prototype.slice.call(类数组对象)例1: function foo(a, b) {...

  • javascript框架设计书中细小知识笔记(一)

    类数组转数组 不考虑兼容性Array.prototype.slice.call() 考虑IE兼容 HTMLColl...

  • JS错题理解之函数

    对象没有call和apply方法,只有函数有;apply可以将数组和类数组一次性的传递进函数中,call只能一个一...

  • [].shift.call(arguments)

    [].shift.call(arguments) 把类数组对象转为数组对象,删除并拿到arguments的第一项。...

  • 2018-07-17

    call,apply函数的参数列表arguments 是一个类数组对象,虽然它也有“下标”,但它并非真正的数组,所...

  • 函数和面向对象

    Function函数 构造函数和new关键字 this的指向 call和apply arguments 类数组 i...

  • 伪数组转数组的方法

    1. 声明一个空数组,通过遍历把伪类添加给数组。 2. slice方法 slice他返回一个数组,使用call或者...

  • [].slice.call() 原理分析

    [].slice.call() 常用来将类数组转化为真正的数组。要理解其中的原理,必须了解以下几个知识点: 继承这...

网友评论

      本文标题:call与类数组

      本文链接:https://www.haomeiwen.com/subject/jtcoxqtx.html