javascript中对象Object的常用方法

Object

Object.keys(obj) 方法的参数是一个对象,返回一个数组。该数组的成员都是该对象自身的(而不是继承的)所有属性名。

Object.getOwnPropertyNames(obj) 方法与Object.keys类似,也是接受一个对象作为参数,返回一个数组,包含了该对象自身的所有属性名(包括不可枚举(继承的属性))。

Object.prototype.valueOf() valueOf方法的作用是返回一个对象的“值”,默认情况下返回对象本身(obj.valueOf()

Object.prototype.toString() toString方法的作用是返回一个对象的字符串形式,默认情况下返回类型字符串。(o1.toString()
toString() 的应用:判断数据类型
用法:Object.prototype.toString.call(value)

数值:返回[object Number]。 字符串:返回[object String]。 布尔值:返回[object Boolean]。
undefined:返回[object Undefined]。 null:返回[object Null]。 数组:返回[object
Array]。 arguments 对象:返回[object Arguments]。 函数:返回[object Function]。
Error 对象:返回[object Error]。 Date 对象:返回[object Date]。 RegExp
对象:返回[object RegExp]。 其他对象:返回[object Object]。

Object.prototype.hasOwnProperty('') 方法接受一个字符串作为参数,返回一个布尔值,表示该实例对象自身是否具有该属性(即不是继承来的)。

Object.getOwnPropertyDescriptor(obj, 'p') 方法可以获取属性描述对象。它的第一个参数是目标对象,第二个参数是一个字符串,对应目标对象的某个属性名。

Object.defineProperty(object, propertyName, attributesObject) 方法允许通过属性描述对象,定义或修改一个属性,然后返回修改后的对象(object:属性所在的对象 propertyName:字符串,表示属性名 attributesObject:属性描述对象)

如果一次性定义或修改多个属性,可以使用Object.defineProperties()方法。

var obj = Object.defineProperties({}, {
  p1: { value: 123, enumerable: true },
  p2: { value: 'abc', enumerable: true },
  p3: { get: function () { return this.p1 + this.p2 },
    enumerable:true,
    configurable:true
  }
});

obj.p1 // 123
obj.p2 // "abc"
obj.p3 // "123abc"

Object.preventExtensions(obj)方法可以使得一个对象无法再添加新的属性

Object.isExtensible方法用于检查一个对象是否使用了Object.preventExtensions方法。也就是说,检查是否可以为一个对象添加属性。

Object.seal() 方法使得一个对象既无法添加新属性,也无法删除旧属性。

Object.isSealed方法用于检查一个对象是否使用了Object.seal方法。

Object.freeze方法可以使得一个对象无法添加新属性、无法删除旧属性、也无法改变属性的值,使得这个对象实际上变成了常量。

Object.isFrozen方法用于检查一个对象是否使用了Object.freeze方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值