题解 | #实现new操作符#

实现new操作符

http://www.nowcoder.com/practice/71c2aff7cb6641099aa17d56157a91b9

 // 目的是使用 new() 方法创建一个 className 类的实例化对象,代替 new className(参数) 的方法
const _new = function(className,...args) {
    //if(typeof className !== "function")   return; 
    let obj = {};                            // 1 创建一个空对象
    obj.__proto__ = className.prototype;     // 2 解决空对象的原型链指向问题
    className.apply(obj,args);               // 3 使用构造式继承的方式将 className 类中的方法和属性都赋予obj对象,
    return obj;                              // 4 得到一个实例化对象
}
全部评论

相关推荐

昨天 10:41
已编辑
门头沟学院 C++
面试官说,他面到现在只有一个人拿了纸质简历,悲惨的是我也没拿
找到工作就狠狠玩CSGO:没要求带简历,但确实最好带,我带了之后面试官直接对着纸质简历问的,最后我还特意把简历留下来了,希望能加深一下印象
点赞 评论 收藏
分享
4 收藏 评论
分享
牛客网
牛客企业服务