From c8ce1f912e91bb1463295e19d013bec4bd95171f Mon Sep 17 00:00:00 2001 From: byog <7764115+byog@users.noreply.github.com> Date: Sat, 22 Dec 2018 14:56:09 +0800 Subject: [PATCH] =?UTF-8?q?constructor=20=E6=8B=BC=E5=86=99=E6=9C=89?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原文中 constructor 被拼写为 'contructor' --- docs/oop/prototype.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/oop/prototype.md b/docs/oop/prototype.md index 6741806..410df6b 100644 --- a/docs/oop/prototype.md +++ b/docs/oop/prototype.md @@ -146,7 +146,7 @@ mine instanceof Array // true 上面代码中,`mine`是构造函数`MyArray`的实例对象,由于`MyArray.prototype`指向一个数组实例,使得`mine`可以调用数组方法(这些方法定义在数组实例的`prototype`对象上面)。最后那行`instanceof`表达式,用来比较一个对象是否为某个构造函数的实例,结果就是证明`mine`为`Array`的实例,`instanceof`运算符的详细解释详见后文。 -上面代码还出现了原型对象的`contructor`属性,这个属性的含义下一节就来解释。 +上面代码还出现了原型对象的`constructor`属性,这个属性的含义下一节就来解释。 ### constructor 属性 @@ -219,7 +219,7 @@ Person.prototype.constructor === Person // false Person.prototype.constructor === Object // true ``` -上面代码中,构造函数`Person`的原型对象改掉了,但是没有修改`constructor`属性,导致这个属性不再指向`Person`。由于`Person`的新原型是一个普通对象,而普通对象的`contructor`属性指向`Object`构造函数,导致`Person.prototype.constructor`变成了`Object`。 +上面代码中,构造函数`Person`的原型对象改掉了,但是没有修改`constructor`属性,导致这个属性不再指向`Person`。由于`Person`的新原型是一个普通对象,而普通对象的`constructor`属性指向`Object`构造函数,导致`Person.prototype.constructor`变成了`Object`。 所以,修改原型对象时,一般要同时修改`constructor`属性的指向。