美文网首页
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与类数组

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