先看描述, 也就是创建一个以参数为原型的对象。 好的,上代码
function People(name) {
this.name = name
this.test = 'People'
}
People.prototype.name = 'Peopleprototype'
console.log(People.prototype)
let a = Object.create(People.prototype)
console.log(a)
了解了起作用,我们就来自己实现一个。
function People(name) {
this.name = name
this.test = 'People'
}
People.prototype.name = 'Peopleprototype'
//Object.create() 原方法
let a = Object.create(People.prototype)
// 自己模拟实现
function bridge(obj) {
let newObj = function () {};
newObj.prototype = obj;
let res = new newObj();
return res
}
let b = bridge(People.prototype)
console.log(People.prototype)
console.log(a)
console.log(b)
可以看到打印结果。
成功实现,思路:创建一个空函数,就是名字不一样,这个目前还不知道咋改,就是 定义新对象时要用新原型构造函数的名字。 就先到这,后面继续改。 有啥好的办法可以告诉我昂。