这个图再次表明每个对象都有一个原型.构造函数 函数foo也有它自己的__proto__,它是Function.Prototype, 而它又通过其__proto__属性再次引用 Object.Prototype.因此,重复一遍,Foo.Prototype只是一个显式的 foo的属性,它引用b和c对象的原型.

var b = new Foo(20);
var c = new Foo(30);

__proto__prototype有什么不同?

enter image description here

这个数字取自dmitrysoshnikov.com.

Note: there is now 100 to the above 2010 article.

推荐答案

__proto__是查找链中用于解析方法等的实际对象.prototype是在使用new创建对象时用于构建__proto__的对象:

( new Foo ).__proto__ === Foo.prototype;
( new Foo ).prototype === undefined;

Javascript相关问答推荐

使用Apps Script缩短谷歌表中的URL?

如何循环访问对象数组并以关键值形式获得结果?

从连接字符串创建客户端时,NodeJS连接到CosmosDB失败

可以的.是否可以在不预编译的情况下使用嵌套 Select 器?

如何为GrapesJS模板编辑器创建自定义撤销/重复按钮?

从Node JS将对象数组中的数据插入Postgres表

无法访问Vue 3深度监视器中对象数组的特定对象值'

用于编辑CSS样式的Java脚本

制作钢琴模拟器,并且在控制台中不会执行或显示该脚本

Chart.js-显示值应该在其中的引用区域

如何将innerHTML字符串修剪为其中的特定元素?

本地库中的chartjs-4.4.2和chartjs-plugin-注解

使用Nuxt Apollo在Piniastore 中获取产品细节

将对象推送到数组会导致复制

AJAX POST在控制器中返回空(ASP.NET MVC)

是否可以将Select()和Sample()与Mongoose结合使用?

为什么我看到的是回复,而不是我的文档?

如何在移动设备中使用JAVASSCRIPT移除点击时的焦点/悬停状态

设置复选框根据选中状态输入选中值

material UI自动完成全宽