Object.defineProperty 相关学习

Object.defineProperty 学习
 
  • 描述:
    • 方法直接在对象上定义一个新属性,或修改对象上的现有属性
    • 并返回该对象。该方法容许精确地添加或修改对象上的属性;
    • 语法:
      • Object.defineProperty(obj, prop, descriptor)
        • obj
          必需。目标对象 
        • prop
          定义或者修改的属性名称
        • descriptor
          对要定义或者修改的属性的描述
  • descriptor 目标属性所拥有的特性配置项
    • configurable:true | false,
      • 是否能够删除目标属性或是否能够再次修改属性的特性(writable, configurable, enumerable)。
      • 设置为true能够被删除或能够从新设置特性;
      • 设置为false,不能被能够被删除或不能够从新设置特性。
      • 默认为false。
    • enumerable:true | false,
      • 此属性是否能够被枚举(使用for...in或Object.keys())。
      • 设置为true能够被枚举;
      • 设置为false,不能被枚举。
      • 默认为false。
    • value:任意类型的值,
      • 属性对应的值,能够使任意类型的值,
      • 默认为undefined
    • writable:true | false
      • 属性的值是否能够被重写。
      • 设置为true能够被重写;
      • 设置为false,不能被重写。
      • 默认为false。
    • 存储器描述
      • 注意:
        • 1. 当使用了getter或setter方法,不容许使用writable和value这两个属性
        • 2. get或set不是必须成对出现,任写其一就能够。若是不设置方法,则get和set的默认值为undefined
      • set :function (value){} | undefined
        • 是一种设置属性值的方法
        • 当设置值的时候触发的函数,设置的新值经过参数value拿到
      • get :function (){} | undefined
        • 当获取值的时候触发的函数
        • 经过返回值设置

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">node

相关文章
相关标签/搜索