js中new操作符的作用及原理

要知道new操作符的作用是什么,得先知道它干了什么事(原理):

  1. 它创建了一个新对象
  2. 它将构造函数的原型属性和方法挂载到新对象的__proto__(原型指针)上
  3. 他执行了构造函数并将构造函数的this指向了新对象
  4. 将这个新对象返回出来了

知道了这些后,那么就很明白了new操作符的作用,我们可以利用call或者apply来封装一个属于自己的new 函数:

//第一个参数为构造函数,后面为参数
function myNew() {
            //创建空对象
            var obj = {};
            //获取参数
            var [Fn, ...arg] = [...arguments]
            //将原型属性方法挂载到对象的指针(__proto__)
            obj.__proto__ = Fn.prototype;
            //执行构造函数
            Fn.apply(obj, arg)
            //返回新对象
            return obj
        }
这样子我们就完成了一个new操作符的全部过程,如果大家有空麻烦点个赞再走吧!!!
  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值