本篇是 ECMA-262-3 in detail 系列的一个概述(本人后续会翻译整理这些文章到本系列(第 11-19 章)。每个章节都有一个更详细的内容链接,你可以继续读一下每个章节对应的详细内容链接进行更深入的了解。
适合的读者:有经验的开发员,专业前端人员。
主要是综合了上面2位高手的中文翻译,将两篇文章的精华部分都结合在一起了。
我们首先来看一下对象[Object]的概念,这也是 ECMASript 中最基本的概念。
对象 Object
ECMAScript 是一门高度抽象的面向对象(object-oriented)语言,用以处理 Objects 对象. 当然,也有基本类型,但是必要时,也需要转换成 object 对象来用。
An object is a collection of properties and has a single prototype object. The prototype may be either an object or the null value.
Object是一个属性的集合,并且都拥有一个单独的原型对象[prototype object]. 这个原型对象[prototype object]可以是一个object或者null值。
让我们来举一个基本 Object 的例子,首先我们要清楚,一个 Object 的 prototype 是一个内部的[[prototype]]属性的引用。
不过一般来说,我们会使用__< 内部属性名 >__ 下划线来代替双括号,例如__proto__(这是某些脚本引擎比如 SpiderMonkey 的对于原型概念的具体实现,尽管并非标准)。
var foo = {
x: 10,
y: 20
};
上述代码 foo 对象有两个显式的属性[explicit own properties]和一个自带隐式的 proto 属性[implicit proto property],指向 foo 的原型。
完整资料进入【数字空间】查看——搜索"writebug"
WRITE-BUG研发团队衷心希望【WRITE-BUG数字空间】可以给每位同学一个属于自己的秘密空间,同时祝愿大家在“公开圈子”世界里,遇见志同道合的伙伴们,因为我们与大家一样,都曾孤独前行着。