JavaScript 里面为什么在一个类里面写的函数在 console 里面发现属于父类了?

2021-10-04 20:53:45 +08:00
 movq

JS 入门小白求助:

为什么我在 Student 里面写的 helloStudent 函数显示在 Object 类里面,而在 PrimaryStudent 里面写的 helloPrimaryStudent 函数显示是在 Student 类里面?

3263 次点击
所在节点    JavaScript
27 条回复
seakingii
2021-10-05 00:53:14 +08:00
@NightCatS 我在沙发一开始就说楼主看错了

这个问题的本质是 JS 恶心的原型链设计误导了从 JAVA,C++过来的人....
autoxbc
2021-10-05 13:57:42 +08:00
我单纯的认为 Chrome 显示错了,给每一层 [[Prototype]] 标记了错误的名字,Firefox 做的是正确的,可以对比看看
autoxbc
2021-10-05 14:13:44 +08:00
或者说 Chrome 的做法是反直觉的,PrimaryStudent 的原型是个 Student 实例这种拗口的显示属于画蛇添足,树形图本身就有完整的继承关系
zxCoder
2021-10-05 15:54:32 +08:00
@vance123 草,为什么是 “shi-mo-shi”,哈哈哈
zxCoder
2021-10-05 15:55:03 +08:00
回答 lz 的问题,(历史包袱
legendecas
2021-10-06 01:24:10 +08:00
显示 [[Prototype]] xxx 不正确是 chrome devtools 的 bug -。- https://bugs.chromium.org/p/chromium/issues/detail?id=1255695
wizardpisces
2021-10-11 12:21:03 +08:00
建议先读一下《 javascript 高级程序设计》继承部分,先理解不用 class 语法糖,只用 funtion 做继承,然后就明白了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/805883

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX