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就是这个原理。

  • 相关阅读:
    积分图像
    [悟] 因上努力,果上随缘(转)
    不要走的太匆忙( 转)
    一个程序员如何快速赚到一百万?(转)
    vi文字处理器
    Linux常用命令
    Hadoop之MapReduce
    Hadoop全分布模式操作
    Hadoop之HDFS
    Hadoop生态系统
  • 原文地址:https://www.cnblogs.com/ehuanrum/p/6627178.html
Copyright © 2011-2022 走看看