资讯专栏INFORMATION COLUMN

js手写系列-- new

mrli2016 / 1886人阅读

摘要:此外因为会修改原数组,所以会被去除第一个参数将的原型指向构造函数,这样就可以访问到构造函数原型中的属性使用,改变构造函数的指向到新建的对象,这样就可以访问到构造函数中的属性返回代码注意写错的地方

步骤

用new Object() 的方式新建了一个对象 obj

取出第一个参数,就是我们要传入的构造函数。此外因为 shift 会修改原数组,所以 arguments 会被去除第一个参数

将 obj 的原型指向构造函数,这样 obj 就可以访问到构造函数原型中的属性

使用 apply,改变构造函数 this 的指向到新建的对象,这样 obj 就可以访问到构造函数中的属性

返回 obj

other
        function argstoArr() {
            // return Array.prototype.shift.call(arguments)
            return [].shift.call(arguments)
        }
        var arr1 = argstoArr(1, 2, 3)
        console.log(arr1) //1
代码




    
    
    
    Document



    


注意写错的地方

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/102628.html

相关文章

  • js手写系列-- 数组去重

    摘要:新数组存放最简单数组去重法新建一新数组,遍历传入数组,值不在新数组就进该新数组中以下不支持数组的方法一个新的临时数组 es6 var arr = [1, 1, 3, 4, 3] function unique(arr) { return Array.from(new Set(arr)) } cons...

    ?xiaoxiao, 评论0 收藏0
  • js手写系列-- 数组排序算法

    摘要:冒泡排序原理第一轮第二轮第三轮第四轮第五轮实现排序,升序要排序的数组排序后的数组数组的长度为,不用跟自己比较,所以外层循环遍,循环第一次,数组最后一位就是最大,依次累加不用跟自己比较,也不用跟已经排序后,放在数组尾的值比较快速排序原理 冒泡排序 原理 var arr = [12, 13, 23, 14, 16, 11]; // 第一轮 /...

    YorkChen 评论0 收藏0
  • js手写系列-- 深拷贝

    代码 function depClone(obj) { var result = JSON.parse(JSON.stringify(obj)); return result; } var obj = { family: { border: wan...

    MSchumi 评论0 收藏0
  • js手写系列-- 图片懒加载

    摘要:代码效果初始页面只能放下张图片,所以只请求了张图片当我滚动到底部,加载完图片后,不管我再怎么滚动,不会再发请求 代码 Document * { padding: 0; margin: 0; } img { ...

    shery 评论0 收藏0
  • js手写系列-- call,apply

    摘要:参考作用和用来调用函数,并用指定对象第一个参数替换函数的值,同时用指定数组替换函数的参数我自己不用声明一个构造函数,就借用现成的构造函数,从而精简代码效果 参考 https://www.cnblogs.com/moqiu... 作用 call和apply用来调用函数,并用指定对象(第一个参数)替换函数的 this 值,同时用指定数组替换函数的参数 我自己不用声明一个构造函数,就借用现...

    keithyau 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<