Object.defineProperties()方法直接在一个对象上定义新的属性或修改现有属性,并返回该对象。
语法分析:
1、语法:Object.defineProperties(obj,props)
2、参数:obj在其上定义或修改属性的对象。props要定义其可枚举属性或彭榧逡钚修改的属性描述符的对象。对象中存在的属性描述符主要有两种:数据描述符和访问器描述符。
3、描述符具有以下键:configurabletrue当且仅当该属性描述符的类型可以被改变并且该属性可以从对应对象中删除。默认为false髫潋啜缅enumerabletrue当且仅当在枚举相应对象上的属性时该属性显现。默认为falsevalue与属性关联的值。可以是任何有效的JavaScript值(数字,对象,函数等)。默认为undefined.writabletrue当且仅当与该属性相关联的值可以用assignment operator改变时。默认为falseget作为该属性的 getter 函数,如果没有 getter 则为undefined。函数返回值将被用作属性的值。默认为undefinedset作为属性的 setter 函数,如果没有 setter 则为undefined。函数将仅接受参数赋值给该属性的新值。默认为undefined
4、返回值:传递给函数对象。
详细描述:
1、Object.defineProperties本质上定义了obj对象上props的可枚举属性相对应的所有属性。
使用示例:
1、如下图所示。