根据
ECMA-262对的定义,
对象(object)是"属性的无序集合,每个属性存放一个原始值、对象或函数"(
unordered collection of properties each of which contains a primitive value, object, or function
)。在ECMAScript中,对象由特性(Attribute)构成,特性可以是原始值,也可以是引用值。如果特性存放的是函数,它将被看作对象的方法(Method),否则该特性被看作属性(Property)。
对对象的定义的解读,如果从类型的家度来看对象:
object{
property1=value;
property2=object;
property3=function;
}
因为object和function是以引用(与C中的指针类似)来指向的,所以从存储形式的角度来看对象:
object{
property1=value;
property2=ref;//可以是object或function的ref
}