js 对象数据观察者实现

发布时间:2017-7-1 11:40:00编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"js 对象数据观察者实现 ",主要涉及到js 对象数据观察者实现 方面的内容,对于js 对象数据观察者实现 感兴趣的同学可以参考一下。

var observer = function (originalData) {    var newData = {};    newData.observer = {};    newData.$data = {};    for (var key in originalData) {        (function (key) {            newData.$data[key] = originalData[key];            Object.defineProperty(newData, key, {                set: function (val) {                    newData.$data[key] = val;                    this.dispatch(key, val);                },                get: function () {                    return newData.$data[key];                }            });            newData.observer[key] = [];        })(key);    }    newData.on = function (index, callback) {        newData.observer[index].push(callback);    };    newData.dispatch = function (index, val) {        for (var i in newData.observer[index]) {            newData.observer[index][i](val);        }    };    return newData;};var data = observer({age: 1, name: 'mahuan'});data.on('name', function (val) {    console.log('hello, ' + val);});data.on('age', function (val) {    console.log('oh, you are ' + val);});data.name = "mahuan";data.age = 3;

hello, mahuan
oh, you are 3



上一篇:Hibernate缓存原理:
下一篇:(一)问候 HtmlUnit

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款