美文网首页
30.如何实现一个 new

30.如何实现一个 new

作者: jqClub | 来源:发表于2021-04-25 12:16 被阅读0次
function _new(fn, ...arg) {
    const obj = Object.create(fn.prototype);
    const ret = fn.apply(obj, arg);
    return ret instanceof Object ? ret : obj;
}
var Dog = function(name) {
  this.name = name
}
Dog.prototype.bark = function() {
  console.log('wangwang')
}
Dog.prototype.sayName = function() {
  console.log('my name is ' + this.name)
}
var simao = _new(Dog, 'simao')
simao.bark()
simao.sayName()
console.log(simao instanceof Dog) // true

相关文章

网友评论

      本文标题:30.如何实现一个 new

      本文链接:https://www.haomeiwen.com/subject/nqterltx.html