javascript Object.prototype VS Anything.prototype

标签 javascript prototype

我对 javascript 的 Object.prototype 和 Anything.prototype 感到困惑。

在 Chrome 控制台中,我有以下代码:

enter image description here

我的问题:

  1. 任何函数的默认原型(prototype)都是 Object 的实例。是这样吗?
  2. 如果 1 为真。因此,Anything.prototype 和 Object.prototype 都是 Object 的实例。 Object.prototype 是一个实例,其 __proto__ === 空。因此,Object.prototype是原型(prototype)链顶部的一个特殊实例。我可以这样理解吗?

最佳答案

The default prototype for any function is an instance of Object.

是的,任何函数.prototype属性都包含一个继承自Object.prototype的对象:

Object.getPrototypeOf(Anything.prototype) === Object.prototype // true

So, both Anything.prototype and Object.prototype are an instance of Object.

我不会说 Object.prototypeObject实例,因为它定义了它是什么 - 并且它不继承来自 Object.prototype,正如您自己所说:

Object.getPrototypeOf(Object.prototype) === null // true
Object.prototype instanceof Object // false, because
Object.prototype.isPrototypeOf(Object.prototype) // false (obviously)

Therefore, Object.prototype is a special instance at the top of prototype chain.

是的,尽管我会说每个原型(prototype)链的顶部都是null

关于javascript Object.prototype VS Anything.prototype,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42870134/

相关文章:

javascript - 类选择器在 IE8 弹出窗口中不起作用,但 id 选择器会

javascript - 输入类型日期在平板电脑上无法正确显示

javascript - jQuery UI 工具提示触发 'Click' 而不是悬停

javascript - 将一个函数原型(prototype)化为另一个函数 JavaScript?

javascript - 如何调用函数并传递带有句点符号的变量

javascript - Js - 具有对象创建功能的原型(prototype)继承

javascript - 如何为输入元素添加原型(prototype)?

javascript - 如何使选定的选项在多个 Select2 中可单击(并可切换)?

c# - 网络浏览器 : sequencing activites when no DocumentCompleted is fired by a link on hosted webpage

javascript - 当 ob1.prototype 未定义时,Object.create() 如何从 ob1.prototype 创建 obj2.__proto__ ?