javascript Object.prototype VS Anything.prototype

时间:2017-03-18 03:31:20

标签: javascript prototype

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

在chrome控制台中,我的代码如下:

enter image description here

我的问题:

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

1 个答案:

答案 0 :(得分:2)

  

任何函数的默认原型都是Object的实例。

是的,任何<application android:name="com.you.yourapp.GlobalClass" 的{​​{1}}属性都包含一个继承自.prototype的对象:

function
  

因此,Object.prototypeObject.getPrototypeOf(Anything.prototype) === Object.prototype // true 都是Object的实例。

我不会说Anything.prototypeObject.prototype实例,因为它定义了它是什么 - 并且它不会从Object.prototype继承,因为你说自己:

Object
  

因此,Object.prototype是原型链顶部的特殊实例。

是的,虽然我说每个原型链的 top 都是Object.getPrototypeOf(Object.prototype) === null // true Object.prototype instanceof Object // false, because Object.prototype.isPrototypeOf(Object.prototype) // false (obviously)