1.JavaScript 的所有其他对象都继承自Object
对象,即那些对象都是Object
的实例。
2.所谓实例方法就是定义在Object
原型对象Object.prototype
上的方法。它可以被Object
实例直接使用。
3.Object
本身是一个函数,将任意值转为对象。
- 如果参数为空(或者为
undefined
和null
),Object()
返回一个空对象。 - 如果参数是原始类型的值,
Object()
将其转为对应的包装对象的实例。 - 如果
Object()
的参数是一个对象,它总是返回该对象,即不用转换。
4.所谓“Object静态方法”,是指部署在Object
对象自身的方法。
Object.
keys()
的参数是一个对象,返回一个数组。该数组的成员都是该对象自身的(而不是继承的)所有属性名。-
Object.
getOwnPropertyNames()
还返回不可枚举的属性名。
5.对象属性模型的相关方法
Object.
getOwnPropertyDescriptor()
:获取某个属性的描述对象。Object.
defineProperty()
:通过描述对象,定义某个属性。Object.defineProperties()
:通过描述对象,定义多个属性。
6.控制对象状态的方法
Object.
preventExtensions()
:防止对象扩展。Object.
isExtensible()
:判断对象是否可扩展。Object.seal()
:禁止对象配置。Object.isSealed()
:判断一个对象是否可配置。Object.freeze()
:冻结一个对象。Object.isFrozen()
:判断一个对象是否被冻结。
7.原型链相关方法
Object.
create()
:该方法可以指定原型对象和属性,返回一个新的对象。Object.getPrototypeOf()
:获取对象的Prototype
对象。
8.Object 的实例方法
Object.prototype.valueOf()
:返回当前对象对应的值。Object.prototype.toString()
:返回当前对象对应的字符串形式。Object.prototype.toLocaleString()
:返回当前对象对应的本地字符串形式。Object.prototype.hasOwnProperty()
:判断某个属性是否为当前对象自身的属性,还是继承自原型对象的属性。Object.prototype.isPrototypeOf()
:判断当前对象是否为另一个对象的原型。Object.prototype.propertyIsEnumerable()
:判断某个属性是否可枚举。