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()
:判断某个属性是否可枚举。