天天看点

JavaScript引用类型之Object类

    ecmascript中的object类跟java中的object类相似,ecmascript中的全部类都由这个类继承而来,object类中的全部属性和方法都会出如今其他类中,所以理解object类,就能够更好的理解其他类。

对象的创建

    javascript的对象是属性的容器,当中每一个属性都拥有名字和值。

属性的名字能够是包含空字符串在内的随意字符串。属性值能够是除undefined值之外的不论什么值。

    javascript里的对象是无类型的。它对新属性的名字和属性的值没有限制。

对象和适用于汇集和管理数据。对象能够包括其它对象,所以它们能够easy地表示成树状或图形结构。

    object类型用于创建自己定义对象(实例),创建方式有两种:

    对象属性的訪问能够直接採用 对象名.属性名称 的方式。

    里面的属性名和属性值採用key:value键值对的形式。当中key上面的引號通常能够省略掉。

    对象属性的方式也能够採用 对象名[属性名] 的方式。

对象属性的訪问

    对象属性的訪问方式有两种:点表示法和方括号表示法。

点表示法  对象名.属性名称

方括号表示法  对象名[属性名称]

能够通过变量来訪问属性 

假设属性名中包括会导致语法错误的字符。或者属性名使用的是keyword或保留字,也能够用方括号表示法。

    属性名中包括空格所以不能使用点表示法訪问它.

    假设属性的层次比較深的时候。使用方括号表示法表示麻烦;可是使用点表示法就可以方便的一层层的訪问到须要的属性。

点表示法 訪问 dog 的 name 属性

方括号表示法 訪问 dog 的 name 属性

    使用方括号表示法。假设属性比較多的时候。必须挨个的使用[ 和 ],且还要用引號引起属性名称,不如点表示法的直接。

    比較完两种方式:訪问属性推荐使用点表示法,除非没办法用点表示法的时候选择用方括号訪问

object类的属性

object类具有下列属性:

constructor --- 对创建对象的函数的引用。对于object类,该指针指向原始的object() 函数。

prototype --- 对该对象的对象原型的引用。

对于全部的类,它默认返回object对象的一个实例。

object类的方法

object类具有例如以下方法:

hasownproperty --- 推断对象是否有某个特定的属性。必须用字符串指定该属性(比如:obj.hasownproperty(“name”))。

isprototypeof(object) --- 推断该对象是否为还有一个对象的原型。

propertyisenumerable(property) --- 推断给定的属性能否够用for…in 语句进行枚举。

tostring() --- 返回该对象的原始字符串表示。

valueof() --- 返回最适合该对象的原始值。

    hasownproperty()、isprototypeof(object)、propertyisenumerable(property) 这三个方法在讲了原型prototype之后再细述,这里不做介绍了。

继续阅读