目录导航
- 撤销(Ctrl+Z)
- 重做(Ctrl+Y)
- 清空
- H 标题(Ctrl+1~6)
- 一级标题
- 二级标题
- 三级标题
- 四级标题
- 五级标题
- 六级标题
- 插入提示
- 提示
- 注意
- 警告
- 详细信息
- 粗体(Ctrl+B)
- 斜体(Ctrl+I)
- 删除线
- 插入引用(Ctrl+Q)
- 无序列表(Ctrl+U)
- 有序列表(Ctrl+O)
- 表格
- 插入分割线
- 插入链接(Ctrl+L)
- 插入图片
- 添加图片链接
- 插入代码块
- 关闭同步滚动
- 全屏(按ESC还原)
- 开启预览
<div class="markdown_body"><pre><code>class A { } class B extends A{ } let b = new B() console.log( b.__proto__) </code></pre> <p>打印结果是<code>A{}</code>, 不是很能理解它的含义是什么, <code>b.__proto___不是等于 B.prototype 吗</code></p> </div>
class A {
}
class B extends A{
}
let b = new B()
console.log( b.proto)
打印结果是A{}, 不是很能理解它的含义是什么, b.__proto___不是等于 B.prototype 吗
user2 • • 目录导航
|
user3 • • 目录导航
prototype 不就是像上找一层么?还有什么别的解释?你 new 个 A 试试,在拿 prototype 估计就是空对象了 proto_ 这个也是 |
user1 • • 目录导航
你看看 firefox 下是不是你认为的结果 |
user2 • • 目录导航
B.prototype.proto === A.prototype |
user3 • • 目录导航
B.prototype instanceof A // true |
user1 • • 目录导航
谢谢各位,清晰了 |
user2 • • 目录导航
刚解决了个 bug 。 |
user3 • • 目录导航
运行了一下,打印出来不是 B{}吗? |
user1 • • 目录导航
对的没错,b.proto_ 和 B.prototype 都是 A 的实例。 |
user2 • • 目录导航
恕我直言,这有意义吗 |

对呀。。B.prototype 就是 A 啊,你 console.log 一下 B.prototype 就知道了