每天一个前端小知识11——new对象的过程

总结

创建一个空对象,设置它的原型链,改变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_

猜你喜欢

转载自blog.csdn.net/qq_33591873/article/details/128356275