在ECMAScript中,Object类型是所有它的实例的基础,换句话说,Object类型所具有的任何属性和方法也同样存在于更具体的对象中。
Object的每个实例都具有下列的属性和方法:
- [x] constructor: 构造函数
- [x] hasOwnProperty(propertyName)
用于检查给定的属性在当前对象实例(而不是实例的原型)中是否存在。
- [x] isPrototypeOf(Object):
用于检查其原型链的对象是否存在于指定对象的实例中,是则返回true,否则返回false。
例如:
var a = {}
function Person() {}
var p1 = new Person() // 继承自原来的原型,但现在已经无法访问
var Person.prototype = a
var p2 = new Person() // 继承a
console.log(a.isPrototypeOf(p1)) // false a是不是p1的原型
console.log(a.isPrototypeOf(p2)) // true a是不是p2的原型
console.log(Object.prototype.isPrototypeOf(p1)) // true
console.log(Object.prototype.isPrototypeOf(p2)) // true
- [x] propertyIsEnumerable(propertyName)
用于检查给定的属性是否可以用 for-in 语句进行枚举。
- [x] toLocaleString()
返回对象的字符串表示,该字符串与执行环境的地区对应。
- [x] toString()
返回对象的字符串表示。
- [x] valueOf()
返回对象的字符串、数值、布尔值表示。通常与toString()方法的返回值相同。