ECMAScript中的对象其实就是一组数据和功能的集合。对象可以通过new操作符后跟要创建的对象类型的名称来创建。而创建Object类型的实例并为其添加属性和方法,就可以创建自定义的对象,如下所示:
var o = new Object();
这个语法与Java中创建对象的语法相似,但在ECMAScript中,如果不给构造函数传递参数,则可以省略后面的那一对圆括号。例如:
var o = new Object; //有效,但不推荐使用
在ECMAScript中,Object类型是所有它的实例的基础。Object类型的所具有的任何属性和方法也同样存在于更具体的对象中。
Object的每个实例都具有下列属性和方法
(1)constructor:保存着用于创建当前对象的函数。
(2)hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中是否存在,其中,作为参数的属性名(propertyName)必须以字符串形式指定。
(3)isPrototypeof(object):用于检查传入的对象是否是传入对象的原型。
(4)propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举。与hasOwnProperty()方法一样,作为参数的属性名必须以字符串形式指定。
(5)toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应。
(6)toString():返回对象的字符串表示。
(7)valueOf():返回对象的字符串,数值或布尔值表示,通常与toString()方法的返回值相同。
由于在ECMAScript中Object类型是所有对象的基础,因此所有对象都具有这些基本的属性和方法。
参考资料:《JavaScript高级程序设计》(第三版)
(完)