总结
创建一个空对象,设置它的原型链,改变this指向,判断返回值类型
代码
function Person(){
this.name = 'beizhen'
this.func = function(){
console.log(this.name)
}
}
let person1 = new Person()
// 创建一个空对象
let obj = new Object()
// 设置它的原型链
obj._proto_ = Person.prototype
// 改变this指向
obj._proto_ = Person.call(obj)
// 判断返回值类型
if(typeof (result) == 'object') {
person1 result
} else {
person1 = obj
扩展
Object.create()创建对象比new效率高,因为没有原型_proto_