为了账号安全,请及时绑定邮箱和手机立即绑定

关于实现继承的疑问

老师好

实现继承为什么不能写成这样呢?:

Student.prototype.__proto__ = Person.prototype

让学生类原型对象的原型指向人的类的原型对象,这样学生类的原型对象就继承到了人的类的原型对象上的属性

这样写还不会改写Student.prototype本身,不会带来内部属性的指向问题。这样不是更好吗?请指教

正在回答

2 回答

可以这样写,__proto__ 已经被添加到ECMAScript6的草案中了。

这个教程好像是 ES5

0 回复 有任何疑惑可以回复我~
#1

零零拾 提问者

那这样写是不是更好呢?
2015-12-08 回复 有任何疑惑可以回复我~
#2

木子舟义 回复 零零拾 提问者

你赋值给__proto__ 不也就等于 赋值给 prototype 吗。一回事啊。 看ES6怎么定义这个__proto__吧。
2015-12-08 回复 有任何疑惑可以回复我~
#3

零零拾 提问者 回复 木子舟义

没有吧 __proto__ 是prototype上的一个属性啊 这和直接更改prototype不是一个概念吧 毕竟还有构造器指向的问题 值改变其中的一个属性 肯定比直接替换掉来的简介呀
2015-12-08 回复 有任何疑惑可以回复我~
#4

hey自然

有草案的链接么?
2016-01-19 回复 有任何疑惑可以回复我~
查看1条回复

我知道他是prototype的一个属性,但是以现在的ES5的标准 

赋值它就等于赋值prototype。

1 回复 有任何疑惑可以回复我~
#1

木子舟义

所以我才说看ES6怎么定义它啊
2015-12-08 回复 有任何疑惑可以回复我~
#2

零零拾 提问者 回复 木子舟义

哦哦 3q
2015-12-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript深入浅出
  • 参与学习       281112    人
  • 解答问题       1020    个

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

进入课程

关于实现继承的疑问

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信