JavaScript数据类型-Object类型

在ECMAScript中,Object类型是所有它的实例的基础,换句话说,Object类型所具有的任何属性和方法也同样存在于更具体的对象中。

Object的每个实例都具有下列的属性和方法:

  • constructor: 构造函数
  • hasOwnProperty(propertyName)

用于检查给定的属性在当前对象实例(而不是实例的原型)中是否存在。

  • 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
  • propertyIsEnumerable(propertyName)

用于检查给定的属性是否可以用 for-in 语句进行枚举。

  • toLocaleString()

返回对象的字符串表示,该字符串与执行环境的地区对应。

  • toString()

返回对象的字符串表示。

  • valueOf()

返回对象的字符串、数值、布尔值表示。通常与toString()方法的返回值相同。