Object.defineProperty 超、凢脫俗 2022-06-02 04:54 103阅读 0赞 ***Object.defineProperty ,顾名思义,为对象定义属性。*** **语法** > Object.defineProperty(object, propertyname, descriptor); **参数** * object 必需。 要在其上添加或修改属性的对象。 这可能是一个本机 JavaScript对象(即用户定义的对象或内置对象)或 DOM 对象。 * propertyname 必需。 一个包含属性名称的字符串。 * descriptor 必需。 属性描述符。 它可以针对数据属性或访问器属性。 **属性的状态设置** 其中descriptor属性可设置的值有: * 【value】 属性的值,默认为 undefined。 * 【writable】 该属性是否可写,如果设置成 false,则任何对该属性改写的操作都无效(但不会报错)。这个属性该特性默认值为为 true。 * 【configurable\]】如果为false,则任何尝试删除目标属性或修改属性以下特性(writable, configurable, enumerable)的行为将被无效化。这个属性该特性默认值为为 true。 * 【enumerable】 是否能在for-in循环中遍历出来或在Object.keys中列举出来。这个属性该特性默认值为为 true。 * 【get】一旦目标对象访问该属性,就会调用这个方法,并返回结果。默认为 undefined。 * 【set】 一旦目标对象设置该属性,就会调用这个方法。默认为 undefined。 **注意:在调用Object.defineProperty()方法时,如果不指定, configurable, enumerable, writable特性的默认值都是false,** [更多][Link 1] [Link 1]: http://imweb.io/topic/56d40adc0848801a4ba198ce
还没有评论,来说两句吧...