美文网首页
类数组及其与call的使用(个人学习笔记)

类数组及其与call的使用(个人学习笔记)

作者: 大哈QAQ | 来源:发表于2018-10-05 23:10 被阅读0次

类数组定义:

            拥有length属性,其它属性(索引)为非负整数(对象中的索引会被当做字符串来处理,这里你可以当做是个非负整数串来理解);不具有数组所具有的方法,即不可以直接使用数组的方法。

常见的类数组:

            arguments、元素集合、节点集合.....

类数组转换为数组:

            Array.prototype.slice.call(arguments)     //得到一个值为arguments 的真正的数组

            通过上面语句可以将类数组转换为数组,但为什么会这样呢?我们先探讨slice的实现吧:

            Array.prototype.slice = function () {

                    var    arr = [ ];

                    for (var i = 0;i<this.length;i++) {

                            arr[arr.length] = this[ i ];

                    }

                    return    arr;

            }

            //上面就是slice的底层,同时我们知道call方法可以改变this指向,所以 通过call将slice方法中的this改为arguments就可以将arguments的值拷贝一份,从而得到一组值与arguments值一样的数组                                     

相关文章

  • 类数组及其与call的使用(个人学习笔记)

    类数组定义: 拥有length属性,其它属性(索引)为非负整数(对象中的索引会被当做字符串来处理,这里你可以当做...

  • 类数组问题

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

  • 集合Collection学习

    学习目标 能够说出集合与数组的区别 Collection类及其子类 Iterator原理及使用 什么是泛型,泛型得...

  • call与类数组

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

  • JAVA入门的进一步加深

    学习目的 深入了解Java语言里面的类、对象、数组的三种输出方式、属性、方法。 相关技术、及其使用 类和对象类:一...

  • javascript arguments、callee、cal

    arguments、calle、caller基本使用 本文是作者的学习笔记、主要是给大家说说callee与call...

  • Java语言中抽象类和接口的定义及其使用

    学习目的 学习掌握抽象类和接口的定义及其使用,如何测量代码的执行效率。 相关技术、及其使用 抽象类(abstrac...

  • ##Java学习笔记之基础类库笔记

    Java学习笔记之基础类库笔记 Object 所有类,数组,枚举类的父类 Objects(Java7新增) 工具类...

  • 伪数组转数组的方法

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

  • js apply ,call,bind

    apply 绑定数组call为对象 不用bind的代码 使用 apply与call是立即执行的而bind返回的是一...

网友评论

      本文标题:类数组及其与call的使用(个人学习笔记)

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