首页 > 其他 > 详细

new的过程做了什么,实现一个new

时间:2020-03-20 14:55:19      阅读:66      评论:0      收藏:0      [点我收藏+]
/**
 * 实现一个new
 * by daidai
 */
function Dog (name){
    this.name = name;
    this.say = function () {
        console.log(‘我的name叫‘ + this.name)
    }
 }

 function _new (fn,...args) {
    const _obj = Object.create(Dog.prototype)
    const rel = fn.apply(_obj,args)
    return rel instanceof Object ? rel : _obj
 }

 let news = _new(Dog,‘zhangsan‘)

由上代码可以看出  new的过程其实就是以构造器的prototype属性为原型,创建一个新的对象,并且把构造器的this指向新创建的这个对象

new的过程做了什么,实现一个new

原文:https://www.cnblogs.com/wb336035888/p/12531616.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!