- 构造函数 funciton Person() {}
- 实例 const person = new Person()
- 原型Person.prototype
- 隐藏属性 constructor
等式 1:person.constructor === Person
等式 2:Person.prototype.constructor === Person - 手写new:
一、判断首参为函数;
二、通过 Object.create() 创建新对象并且绑定原型链;
三、通过 call 或者 apply 修正this 指向和传参;
四、通过 typeof 判断函数对象和普通对象;
五、函数对象和普通对象返回构造函数的 return值,否则返回新对象 - 查找实例对应的对象的原型 person.proto ===Person.prototype
- 函数对象指向
person.proto === Person.prototype
Person.proto === Function.prototype - 普通对象指向
obj.proto ===Object.prototype - 原型链
foo.proto === Object.prototype
F.proto=== Function.prototype
F.proto.proto === Object.prototype
原型与原型链
最新推荐文章于 2024-10-18 17:51:23 发布