From 910e94afc71ebca142f64a24140b4cc7fa3f9605 Mon Sep 17 00:00:00 2001 From: John Hou <870301137@qq.com> Date: Mon, 19 Jun 2017 22:45:06 +0800 Subject: [PATCH 1/2] Update class.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [UPDATE] 增加对 ‘__proto__’ 属性的说明; --- docs/class.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/class.md b/docs/class.md index 4e5bb23..cbedb2d 100644 --- a/docs/class.md +++ b/docs/class.md @@ -290,6 +290,8 @@ p1.__proto__ === p2.__proto__ 这也意味着,可以通过实例的`__proto__`属性为“类”添加方法。 +> `__proto__` 并不是语言本身的特性,这是各大厂商具体实现时添加的私有属性,虽然目前很多现代浏览器的JS引擎中都提供了这个私有属性,但依旧不建议在生产中使用该属性,避免对环境产生依赖。 + ```javascript var p1 = new Point(2,3); var p2 = new Point(3,2); From c0d339acfb85cb44a95b993e8c66c91d7c474c02 Mon Sep 17 00:00:00 2001 From: John Hou <870301137@qq.com> Date: Mon, 19 Jun 2017 22:51:31 +0800 Subject: [PATCH 2/2] Update class.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [UPDATE] 增加 __proto__ 属性的提醒说明 --- docs/class.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/class.md b/docs/class.md index cbedb2d..03541bc 100644 --- a/docs/class.md +++ b/docs/class.md @@ -290,7 +290,7 @@ p1.__proto__ === p2.__proto__ 这也意味着,可以通过实例的`__proto__`属性为“类”添加方法。 -> `__proto__` 并不是语言本身的特性,这是各大厂商具体实现时添加的私有属性,虽然目前很多现代浏览器的JS引擎中都提供了这个私有属性,但依旧不建议在生产中使用该属性,避免对环境产生依赖。 +> `__proto__` 并不是语言本身的特性,这是各大厂商具体实现时添加的私有属性,虽然目前很多现代浏览器的JS引擎中都提供了这个私有属性,但依旧不建议在生产中使用该属性,避免对环境产生依赖。生产环境中,我们可以使用 `Object.getPrototypeOf` 方法来获取实例对象的原型,然后再来为原型添加方法/属性。 ```javascript var p1 = new Point(2,3);