美文网首页
什么是数据劫持?

什么是数据劫持?

作者: 雯呐 | 来源:发表于2019-06-29 23:56 被阅读0次

    1.定义:数据劫持,指的是在访问或者修改对象的某个属性时,通过一段代码拦截这个行为,进行额外的操作或者修改返回结果。

    2.典型案例:数据双向绑定。vue 2.x 使用的是 Object.defineProperty()(Vue 在 3.x 版本之后改用 Proxy 进行实现)。

    3.语法:Object.defineProperty(obj,prop,descriptor)

    参数

    obj:目标对象

    prop:需要定义的属性或方法的名称

    descriptor:目标属性所拥有的特性

    可供定义的特性列表

    value:属性的值

    writable:如果为false,属性的值就不能被重写。

    get: 一旦目标属性被访问就会调回此方法,并将此方法的运算结果返回用户。

    set:一旦目标属性被赋值,就会调回此方法。

    configurable: 如果为false,则任何尝试删除目标属性或修改属性性以下特性(writable, configurable, enumerable)的行为将被无效化。

    enumerable: 是否能在for...in循环中遍历出来或在Object.keys中列举出来。

    4.代码实现

    相关文章

      网友评论

          本文标题:什么是数据劫持?

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