ES5规范之对象 - pod4g/tool GitHub Wiki
-
对象是属性的集合,每个属性有零个或多个特性(attributes)它确定怎样使用此属性,属性是持有其他对象、原始值、函数的容器。
-
函数是可调用对象(callable object),方法是通过属性与对象关联的函数。
-
构造器是用来创建和初始化对象的函数对象。每个构造器(函数)是一个拥有名为
prototype
的属性的函数,此属性用于实现基于原型的继承和属性共享。 -
只要是对象,内部都有一个隐式地指向这个对象构造器的
prototype
属性的引用,在一些浏览器实现中用__proto__
表示,callable object还有一个prototype
属性,所以函数对象既有__proto__
又有prototype
。 -
原生对象(native object):ECMAScript实现中,并非由宿主环境,而是完全由规范定义其语义的对象。
-
内置对象(built-in object):由ECMAScript实现提供,独立于宿主环境的对象,标准的内置对象由规范定义,ECMAScript实现可以指定和定义其他的,所有内置对象都是原生对象。
-
宿主对象(host object):由宿主环境提供的对象,用于完善ECMAScript执行环境。任何对象不是原生对象就是宿主对象。
-
全局对象(window or global)也是原生对象。因为它是内置对象而内置对象都是原生对象。