函数是唯一具有"原型"的JavaScript对象。属性?

时间:2013-08-13 12:30:55

标签: javascript function functional-programming prototype

[首先,这个问题可能采用与How does JavaScript .prototype work?相同的概念,但具有不同的背景。]

我偶然发现了this blog

  

在JavaScript中,每个对象都有一个名为“prototype”的属性。一个   object的原型允许我们为所有实例添加属性   该对象(甚至是现有实例)。

根据我的理解,到目前为止,上述陈述对于初学者来说是令人困惑的,因为它没有区分“原型”和“[[原型]]”。并非所有对象都具有prototype属性,例如:

var myobject = {};
myobject.prototype; // Undefined

我认为如果我们说:

会更好
  

在JavaScript中,每个对象都有一个名为的内部属性   “[[Prototype]]”可以在某些浏览器中通过访问来查看   非标准属性称为“__proto__”。对象的原型   允许我们向该对象的所有实例添加属性(甚至到   现有的实例)。 只有函数(因此是构造函数)   'prototype'属性设置允许我们向所有人添加属性   由该函数/构造函数创建的该对象的实例。

这是对JavaScript原型的更准确的描述,还是我错过了什么?提前谢谢。

0 个答案:

没有答案