Object类型
对象类型我专门拿出来做记录。
ES中的对象是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建,而创建Object类型的实例并为其添加属性或/和方法,就可以创建自定义对象。
例如这个例子:
var o = new Object();
Object类型是所有它的实例的基础(也可以说,Object类型所具有的任何属性与方法,同样存在与更具体的对象之中);
Object类型的每个实例都具有如下属性与方法:
- constructor:构造函数,保存着用于创建当前对象的函数;对于前面的例子,构造函数constructor就是Object();
- hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中,作为参数的属性名(propertyName)必须以字符串的形式指定(例如o.hasOwnProperty("name"));
- isPrototypeOf(object):用于检查传入的对象是否为当前对象的原型(详细在第五章讨论);
- propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举。属性名必须用字符串指定;
- toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应;
- toString():返回对象的字符串表示;
- valueOf():返回对象的字符串、数值或者布尔值的表示,通常与toString()的返回值相同;