javascript - 为什么我不能在创建对象时查看 __proto__?

标签 javascript object google-chrome-devtools prototype-chain

当我创建一个空白对象时:

var o = {};

为什么新建对象时看不到'__proto __'对象,但添加函数时可以?

enter image description here


编辑:为了完整起见,要创建一个真正的空白对象(没有原型(prototype)链接),我们可以这样做:

var o = Object.create(null);

但出于问题的目的,我将使用 o = {} 语法。


编辑 2:This shows the prototype linkage在创建对象时,__proto 的 __ 就在那里,但我无法在调试器中查看它们,除非我添加一个函数对象。

enter image description here


编辑 3:它适用于 Firefox:

enter image description here

最佳答案

谁知道呢?这似乎是 Chrome 调试器实现者的设计决定。除非这里有人知道他们的决策过程,否则我认为这个问题是题外话。

也许他们认为您不需要能够扩展对象,除非它们有方法。

IE 和 Firefox 都在它们的控制台中显示 __proto__ 属性,即使是在空对象上也是如此。如果您想出于学习目的观察对象原型(prototype),也许最好在其中一种浏览器中这样做。

关于javascript - 为什么我不能在创建对象时查看 __proto__?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28972474/

相关文章:

javascript - 删除 tinymce 默认 html

javascript - 如何让 JavaScript 设置这些元素值?

javascript - 除了 .length 属性之外,JavaScript Array 和 Object 之间有什么区别?

javascript - 控制堆栈跟踪中的类名

javascript - Chrome DevTools 控制台文本突出显示颜色为黑色

css - 半透明 CSS 属性在 Google Chrome 开发者工具中意味着什么?

javascript - 我无法让 jQuery 或 jQuery UI 工作

javascript - 曾经正常工作的网站突然抛出 jquery "uncaught syntaxErrors"

javascript - Flex Ajax Bridge,或任何其他使用 ColdFusion 的推送方法?

javascript - 在 JavaScript 中向函数内的对象添加属性?