国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript觀察者模式實現(xiàn)自動刷新效果

2019-11-19 15:33:01
字體:
來源:轉載
供稿:網友

本文實例為大家分享了js觀察者模式實現(xiàn)自動刷新的具體代碼,供大家參考,具體內容如下

// author wangbinandi@gmail.comconst observable = obj => {  const observers = Symbol();  const set = function(target, key, value) {    const result = Reflect.set(target, key, value);    //console.log("set key:" + key);    if ( target[observers].has(key) ) {      target[observers].get(key).forEach(observer => observer());    }    return result;  }  const get = function(target, key) {    const result = Reflect.get(target, key);    //console.log("get key:" + key);    if (arguments.callee.caller) {      if (!target[observers].has(key)) {        target[observers].set(key, new Set())      }      target[observers].get(key).add(arguments.callee.caller);    }    return result;  }  obj[observers] = new Map(); // string => Set()  return new Proxy(obj, {set, get});};const autorun = fn => fn();var person = observable({  firstName: 'Matt',  lastName: 'Ruby',  age: 18,  weight: 50});autorun(function () {  console.log('autorun.getAge: ' + person.firstName + ' ' + person.age);});autorun(function () {  console.log('autorun.getName: ' + person.firstName + ' ' + person.lastName);});person.age = 19;person.weight = 55;person.firstName = 'test';person.lastName = 'MyLast';console.log(person.lastName);person.age = 20;

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 隆德县| 红安县| 富源县| 桐庐县| 秦皇岛市| 丁青县| 九江县| 连南| 西和县| 高青县| 深水埗区| 兰溪市| 镇安县| 绍兴县| 通海县| 太保市| 尼玛县| 阳泉市| 潞城市| 巧家县| 大邑县| 恩平市| 安福县| 如东县| 樟树市| 靖远县| 临夏市| 北京市| 吉安县| 神农架林区| 西盟| 炉霍县| 榆林市| 青田县| 白水县| 新营市| 泰和县| 巴南区| 台北市| 湖州市| 安陆市|