题解 | #实现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 得到一个实例化对象
}
全部评论

相关推荐

06-18 13:28
已编辑
门头沟学院 Web前端
爱睡觉的冰箱哥:《给予你300的工资》,阴的没边了
点赞 评论 收藏
分享
就在我现在公司的隔壁每天经过都唏嘘不已(就是羡慕)什么时候可以到这里上班啊
柯基在debug:从大学毕业投简历到现在了,应届的时候我都面到终面了,现在工作四年了连简历初筛都过不了了
投递莉莉丝游戏等公司8个岗位
点赞 评论 收藏
分享
评论
5
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务