美文网首页
利用Object.defineProperty实现数据双向绑定

利用Object.defineProperty实现数据双向绑定

作者: Tiny_z | 来源:发表于2017-09-06 17:23 被阅读10次

    首先介绍一下这个方法

    Object.defineProperty(obj,prop,descriptor)
    obj:需要被操作的目标对象
    prop:目标对象需要定义或修改的属性
    descriptor: 修改属性的描述符

    简单来说,这个方法允许精确添加或修改对象的属性
    对象里目前存在的属性描述符有两种主要形式:数据描述符存取描述符
    数据描述符:一个拥有可写或不可写值的属性
    存取描述符:由一对getter-setter函数功能来描述的属性
    描述符必须是两种形式之一,两者不能同时存在

    数据描述符

    • configurable:当且仅当该属性的值为true时,该属性描述符才能被改变,同时该属性也能从对应的对象上被删除。默认为false
    • enumerable:当该属性的值为true时,该属性才能够被枚举,默认false
    • value:为该属性的值,可以是任何有效的javascript值(对象,函数等)。默认undefined
    • writable:当该值为true时,该属性才能被赋值运算符改变。默认false

    存取描述符

    • get:一个给属性提供getter的方法,如果没有则为undefined。改方法返回值被用作属性值。默认undefined
    • set:属性的setter方法,接受唯一参数,并将该参数的新值分配给该属性。默认undefined

    示例

    相关文章

      网友评论

          本文标题:利用Object.defineProperty实现数据双向绑定

          本文链接:https://www.haomeiwen.com/subject/bejvjxtx.html