zoukankan      html  css  js  c++  java
  • javascript之属性器

    var option = {

      enumerable: false,//是否可以被枚举

      writable: false,//是否可以编辑

      configurable: false,//是否可以配置

      value: null//值,

      get:function(){},//取值器(跟value不能同时存在)

      set:function(value){}//设值器(跟value不能同时存在)

    };

    var source = {a:1};

    Object.defineProperty(source,'b',{

      value:2

    });

    console.log(source.b);//source.b是不可以修改不可以枚举的.比如Object.keys(source)是没有b的

    var $temp = 0;

    Object.defineProperty(source,'c',{

      get:function(){return $temp;},

      set:function(value){$temp = value;}

    });

    console.log(source.c);//source.c是不可以修改不可以枚举的.source.c获取的是(function(){return $temp;})();

    source.c = '12' ;//此时执行的是(function(value){$temp = value;})('12');

    我们可以在get/set方法里面添加自己的逻辑,监视数据的变化。目前框架Vue和Angular2就是这个原理。

  • 相关阅读:
    hdu 1232 最小生成树
    hdu 1260 dp
    hdu 1385 最短路径按字典数输出
    hdu 1541 树状数组
    hdu 1544 求字符串回文
    hdu 1728
    hdu 1754 树状数组求最大值
    hdu 1892 二维树状数组
    hdu 2082 母函数
    循环
  • 原文地址:https://www.cnblogs.com/ehuanrum/p/6627178.html
Copyright © 2011-2022 走看看