pyppeteer 修改对象属性

2019-08-01  本文已影响0人  eeert2

使用Object.defineProperties()方法直接在一个对象上定义新的属性或修改现有属性,并返回该对象。

语法:Object.defineProperties(obj, props)

参数:

obj

在其上定义或修改属性的对象

props

要定义其可枚举属性或修改的属性描述符的对象。对象中存在的属性描述符主要有两种:数据描述符和访问器描述符(更多详情,请参阅Object.defineProperty())。描述符具有以下键:

    1)configurable

    true当且仅当该属性描述符的类型可以被改变并且该属性可以从对应对象中删除。默认为false

    2)enumerable

    true当且仅当在枚举相应对象上的属性时该属性显现。 默认为false

    3)value

    与属性关联的值。可以是任何有效的JavaScript值(数字,对象,函数等)。默认为 undefined.

    4)writable

    true当且仅当与该属性相关联的值可以用assignment operator改变时。默认为false

    5)get

    作为该属性的 getter 函数,如果没有 getter 则为undefined。函数返回值将被用作属性的值。默认为 undefined

    6)set

    作为属性的 setter 函数,如果没有 setter 则为undefined。函数将仅接受参数赋值给该属性的新值。默认为 undefined

例1. 修改obj对象的property1 和 property2,以及get方法

Object.defineProperties(obj,{

'property1':{value:true,writable:true},

'property2':{value:'Hello',writable:false},

'property3':{get:()=>{},set:()=>{}}

});

上一篇 下一篇

猜你喜欢

热点阅读