Object js对象常用方法(Api)

工作和学习中会使用到很多的方法, 能够熟练掌握 很有必要.
.(, , …): 用于将一个或多个对象的可枚举属性 (对象属性是否可以在 for…in循环和 .keys()中被枚举) 的值合并到目标对象.
参数说明:
: 目标对象: 被合并对象 可以传一个或者多个
注: 如果属性的键名称相同 后面的被合并对象的值会覆盖前面的. 只会修改目标对象
关于复制过来是深浅克隆的问题:
.(obj, prop, ): 用于在对象上定义或者修改一个属性, 可定义其 可枚举性, 是否可修改删除等
详细请见早段时间写的另一篇文章 详细说明.() 方法
.(proto , []): 用于创建一个新的对象
参数说明:
proto: 新创建对象的原型对象: 可选 定义该对象属性的值 以及 是否可被枚举 修改 删除等(详情可参照 文章中的第三个参数)
.(obj): 用于返回对象自身可枚举属性的键值对数组
如果需要将转为Map结构 .()用起来就十分方便了
.(obj): 用于冻结一个对象, 被冻结的对象不能被修改(包括 不能添加新属性, 删除属性, 修改属性值, 修改属性的可枚举性、可配置性、可写性)
注: .() 可以判断该对象是否被冻结 .()可对比下面的.seal()
.seal(obj): 密封一个对象(不能添加属性, 删除属性并且将现有的所有属性标记为不可配置), 多用于防止对象属性被删除. 与.()不同的是 可以修改可写属性的值
注: .() 可以判断该对象是否被密封 而且当一个对象被冻结 Js为认为他是被密封的
相反一个密封的对象 是不会被判定为冻结的 这很好理解 因为冻结包含了密封的所有操作 而密封的值可以被修改
.ptor(obj, prop): 用于返回一个对象上属性对应的属性描述符
属性描述符包括:
.ptors() 则可以用来或者对象上所有属性的属性描述符
【Objectjs对象常用方法(Api)】.(): 用于列举自身所有属性名称(包括可枚举不可枚举) .keys(): 用于列举自身所有可枚举属性名称
说到这两个方法 不得不说一下 ()、.keys()、for … in这三者的区别了
具体见如下代码
.(obj): 用于获取目标对象原型
.(obj): 用于判断对象是否可扩展(是否可在上面新增属性) .(obj): 用于阻止对象被扩展
注: . , .seal 或 . 方法都可以标记一个对象为不可扩展
.is(, ): 判断两个值是否为同一个值
注: 与 === 运算符不同 .is() 将 +0 和 -0判为false 将 NaN 和 NaN判断为相等
.(obj): 用于返回一个对象自身所有可枚举属性值的数组
注: 可以与.keys() 联系起来 一个是返回所有可枚举属性的键 一个是返回所有可枚举属性的值
字符串相关Api可以参考另外一篇文章: JS字符串()常用方法(Api)