js Object的方法(更新中。。。)

1、Object.getOwnPropertyDescriptor

(1)方法返回指定对象上一个自有属性对应的属性描述符。(自有属性指的是直接赋予该对象的属性,不需要从原型链上进行查找的属性)

(2)参数

Object.getOwnPropertyDescriptor(obj,prop)

obj:需要查找的目标对象

prop:目标对象的属性

(3)返回值

如果指定的属性存在于对象上,则返回其属性描述符对象(property descriptor),否则返回undefined

value

该属性的值(仅针对数据属性描述符有效)

writable

当且仅当属性的值可以被改变时为true。(仅针对数据属性描述有效)

get

获取该属性的访问器函数(getter)。如果没有访问器, 该值为undefined。(仅针对包含访问器或设置器的属性描述有效)

set

获取该属性的设置器函数(setter)。 如果没有设置器, 该值为undefined。(仅针对包含访问器或设置器的属性描述有效)

configurable

当且仅当指定对象的属性描述可以被改变或者属性可被删除时,为true。

enumerable

当且仅当指定对象的属性可以被枚举出时,为true。

2、Object.keys

(1)方法会返回一个由一个给定对象的自身可枚举属性组成的数组

(2)参数

Object.keys(obj)

obj目标对象

(3)返回值

一个表示给定对象的所有可枚举属性的字符串数组。

3、Object.values

(1)方法返回一个给定对象自身的所有可枚举属性值的数组

(2)参数

Object.values(obj)

obj目标对象

(3)返回值

一个包含对象自身的所有可枚举属性值的数组。

4、Object.defineProperty

(1)方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。

(2)参数

Object.defineProperty(obj,prop,descriptor

obj

要定义属性的对象。

prop

要定义或修改的属性的名称或Symbol

descriptor

要定义或修改的属性描述符。

(3)返回值

被传递给函数的对象

const object1 = {};

Object.defineProperty(object1, 'name', {

  get: function(){

  return name

  },

  set: function(val){

  console.log("我被执行了");

    name = val

  }

});

5、Object.getOwnPropertyNames

(1)方法返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组。

(2)参数

Object.getOwnPropertyNames(obj)

obj:一个对象,其自身的可枚举和不可枚举属性的名称被返回。

(3)返回值

在给定对象上找到的自身属性对应的字符串数组。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。