js[对象Object常用方法与属性][整理]

参考:
https://javascript.ruanyifeng.com/stdlib/object.html#toc0

对象Object创建常用方式:2种方式
var obj = {};//创建一个空对象 => {}
var obj = new Object(); //创建一个空对象 => {}

静态方法:20种

对象Object的静态方法:13种(es5)
静态方法是直接通过Object.xx()来直接调用的方法,只要是继承了或者是原型链上有Object这个对象的内容都可以直接使用Object的静态方法。例如:Date对象、Array数组、Number、String…等这些都是可以直接使用Object.xx()之类的静态方法来返回内容。
1、Object.keys(arr) ------返回一个数组。该数组的成员是该对象的键名。(只返回可枚举的属性)
------对象本身是没有长度的因此可以借助Object.keys(obj).length的方式来获取一个对象的属性个数
2、Object.getOwnPropertyNames() ------ 返回一个数组。该数组的成员是该对象的键名。(返回可枚举和不可枚举的所有属性)
3、Object.getOwnPropertyDescriptor() ------ 获取某个属性的描述对象。
4、Object.defineProperty(obj,prop,desc) ------ 通过描述对象,定义某个属性。
obj 需要定义属性的当前对象 prop 当前需要定义的属性名 desc 属性描述符
5、Object.defineProperties() ------ 通过描述对象,定义多个属性。
6、Object.preventExtensions() ------ 防止对象扩展。
7、Object.isExtensible() ------ 判断对象是否可扩展。
8、Object.seal() ------ 禁止对象配置。
9、Object.isSealed() ------ 判断一个对象是否可配置。
10、Object.freeze() ------ 冻结一个对象。
11、Object.isFrozen() ------ 判断一个对象是否被冻结。
12、Object.create() ------ 该方法可以指定原型对象和属性,返回一个新的对象。
13、Object.getPrototypeOf() ------ 获取对象的(Prototype)原型对象。

对象Object的静态方法:7种(es6)
1、Object.is() ------ 比较两个值是否严格相等(与严格比较运算符(===)的行为基本一致,不同之处只有两个:一是+0不等于-0,二是NaN等于自身)
2、Object.assign(target,source…) ------ 用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)
3、Object.getOwnPropertyDescriptors() ------ 返回指定对象所有自身属性(非继承属性)的描述对象
4、Object.setPrototypeOf() ------ 用来设置一个对象的(Prototype)原型对象
5、Object.values() ------ 返回一个数组。该数组的成员是该对象的键值。(只返回可枚举的属性)
6、Object.entries() ------ 返回一个数组,该数组的成员是该对象的键值对数组。(只返回可枚举的属性)
7、Object.fromEntries() ------ 是Object.entries()的逆操作,用于将一个键值对数组转为对象

实例方法: 6种

对象Object的实例方法:6种
实例方法是通过 new Object() 的形式创建出来的对象所能使用的方法,本质是Object.prototype上面的方法。因此其继承者(即其原型链上能找到Object的对象)也是可以使用的
var obj = {};
1、obj.valueOf() ------ 返回一个对象对应的值,默认情况下返回对象本身
2、obj.toString() ------ 返回一个对象对应的字符串形式
3、obj.toLocaleString() ------ 返回一个对象对应的本地字符串形式。
4、obj.hasOwnProperty() ------ 判断某个属性是否为当前对象自身的属性,还是继承自原型对象的属性。接受一个字符串作为参数,返回一个布尔值,表示该实例对象自身是否具有该属性。
5、obj.isPrototypeOf() ------ 判断当前对象是否为另一个对象的原型
6、obj.propertyIsEnumerable() ------ 判断当前对象某个属性是否可枚举

猜你喜欢

转载自blog.csdn.net/lxy869718069/article/details/106832112