您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页实现一个简单的new方法

实现一个简单的new方法

来源:筏尚旅游网

前言

参与过面试的小伙伴都应该知道,调用new方法具体做了什么以及手动实现一个new方法是一个高频面试题,接下来我们就手动实现一个简单的new方法。


一、调用new方法构造函数做了什么?

1、创建一个新对象
2、将构造函数中的this指向新对象
3、执行构造函数
4、返回新对象

二、实现方法

    // 构造函数
    function Construct(name,age) {
        this.name = name
        this.age = age
    }
    
    // 实现方法
    function myNew(Fn,...rest){
        let newObj = {}
        newObj.__proto__ = Fn.prototype
        Fn.apply(newObj,rest)
        return newObj
    }
    
    const obj = new Construct('jack',21)
    const newObj = myNew(Construct,'jack',21)
    console.log(obj)
    console.log(newObj)

结果:


因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务