【发布时间】:2010-09-27 20:18:53
【问题描述】:
来自http://www.jibbering.com/faq/faq_notes/closures.html:
注意:ECMAScript 定义了内部 Object 类型的内部 [[prototype]] 属性。此属性不能直接通过脚本访问,但它是在属性访问器解析中使用的内部 [[prototype]] 属性引用的对象链;对象的原型链。存在一个公共原型属性以允许与内部 [[prototype]] 属性关联的原型的分配、定义和操作。 两者之间的关系细节在 ECMA 262(第 3 版)中有描述,超出了本次讨论的范围。
两者之间的关系细节是什么?我浏览了 ECMA 262,我读到的都是这样的:
构造函数的关联原型可以被程序表达式constructor.prototype引用,
原生 ECMAScript 对象有一个称为 [[Prototype]] 的内部属性。此属性的值为 null 或对象,用于实现继承。
每个内置函数和每个内置构造函数都有 Function 原型对象,它是表达式 Function.prototype 的初始值
每个内置原型对象都有Object原型对象,它是表达式的初始值 Object.prototype (15.3.2.1),作为其内部 [[Prototype]] 属性的值,除了 Object 原型对象本身。
据我所知,对于几乎任何对象,[[Prototype]] 属性都等效于prototype 属性。我弄错了吗?
【问题讨论】:
标签: javascript ecma262