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()
:通过描述对象,定义多个属性。
Object.preventExtensions()
:防止对象扩展。Object.isExtensible()
:判断对象是否可扩展。Object.seal()
:禁止对象配置。Object.isSealed()
:判断一个对象是否可配置。Object.freeze()
:冻结一个对象。Object.isFrozen()
:判断一个对象是否被冻结。
Object.create()
:该方法可以指定原型对象和属性,返回一个新的对象。Object.getPrototypeOf()
:获取对象的Prototype
对象。
Object
实例对象的方法,主要有以下六个。Object.prototype.valueOf()
:返回当前对象对应的值。Object.prototype.toString()
:返回当前对象对应的字符串形式。Object.prototype.toLocaleString()
:返回当前对象对应的本地字符串形式。Object.prototype.hasOwnProperty()
:判断某个属性是否为当前对象自身的属性,还是继承自原型对象的属性。Object.prototype.isPrototypeOf()
:判断当前对象是否为另一个对象的原型。Object.prototype.propertyIsEnumerable()
:判断某个属性是否可枚举。
推荐阅读
- javascript|JavaScript之变量作用域的介绍
- 工业实习日志|实习日志_2022/3/10
- 防抖与节流
- 定位|Vue.js开发移动端经验总结
- vue.js|has no exported member
- angularjs|脏值检测原理
- ECMAScript|JavaScript性能优化具体实现-第二篇
- Leetcode剑指offer16不含有重复字符的最长子字符串
- JavaScript中数组的splice方法和slice方法详解