Object 对象
Object
对象的原生办法分成两类:Object
自身的办法与Object
的实例办法。
Object.print = function (o) { console.log(o) };
(1)Object
对象自身的办法
下面代码中,print
办法就是间接定义在Object
对象上。
(2)Object
的实例办法
定义在Object
原型对象Object.prototype
上的办法。它能够被Object
实例间接应用。
Object.prototype.print = function () { console.log(this);};var obj = new Object();obj.print() // Object
Object()
Object
自身是一个函数,能够当作工具办法应用,将任意值转为对象。这个办法罕用于保障某个值肯定是对象。
instanceof
运算符用来验证,一个对象是否为指定的构造函数的实例。obj instanceof Object
返回true
,就示意obj
对象是Object
的实例。
如果Object
办法的参数是一个对象,它总是返回该对象,即不必转换。
Object 构造函数
Object
不仅能够当作工具函数应用,还能够当作构造函数应用,即后面能够应用new
命令。
Object 的静态方法
Object.keys(),Object.getOwnPropertyNames()
Object.keys
办法和Object.getOwnPropertyNames
办法都用来遍历对象的属性。
var obj = { p1: 123, p2: 456};Object.keys(obj) // ["p1", "p2"]
var obj = { p1: 123, p2: 456};Object.getOwnPropertyNames(obj) // ["p1", "p2"]
var a = ['Hello', 'World'];Object.keys(a) // ["0", "1"]Object.getOwnPropertyNames(a) // ["0", "1", "length"]
个别状况下,简直总是应用Object.keys
办法,遍历对象的属性
其余办法
(1)对象属性模型的相干办法
Object.getOwnPropertyDescriptor()
:获取某个属性的形容对象。Object.defineProperty()
:通过形容对象,定义某个属性。Object.defineProperties()
:通过形容对象,定义多个属性。
(2)管制对象状态的办法
Object.preventExtensions()
:避免对象扩大。Object.isExtensible()
:判断对象是否可扩大。Object.seal()
:禁止对象配置。Object.isSealed()
:判断一个对象是否可配置。Object.freeze()
:解冻一个对象。Object.isFrozen()
:判断一个对象是否被解冻。
(3)原型链相干办法
Object.create()
:该办法能够指定原型对象和属性,返回一个新的对象。Object.getPrototypeOf()
:获取对象的Prototype
对象。
Object 的实例办法
Object
实例对象的办法,次要有以下六个。
Object.prototype.valueOf()
:返回以后对象对应的值。Object.prototype.toString()
:返回以后对象对应的字符串模式。Object.prototype.toLocaleString()
:返回以后对象对应的本地字符串模式。Object.prototype.hasOwnProperty()
:判断某个属性是否为以后对象本身的属性,还是继承自原型对象的属性。Object.prototype.isPrototypeOf()
:判断以后对象是否为另一个对象的原型。Object.prototype.propertyIsEnumerable()
:判断某个属性是否可枚举。