var bind = function(attr) {
var model = function(arg) {
for (var p in attr) {
this[p] = attr[p];
}
this.events = this.events || {};
this.initialize && this.initialize(arg);
}
model.prototype.get = function(name) {
return this[name] || '';
};
model.prototype.set = function(attr) {
var pool = {},
hdl;
for (var p in attr) {
var arr = p.split('.'),
len = arr.length,
first = arr[0],
last = arr[len - 1],
hash = this,
i = -1;
while (++i < len - 1) {
hash = hash[arr[i]] = hash[arr[i]] || {};
}
hash[last] !== attr[p] && (hash[last] = attr[p], pool[first] = this[first]);
}
for (var p in pool) { (hdl = this.events[p]) && this[hdl](pool[p]);
}
};
model.prototype.save = function() {};
model.prototype.fetch = function() {};
return model;
};
var model = function(arg) {
for (var p in attr) {
this[p] = attr[p];
}
this.events = this.events || {};
this.initialize && this.initialize(arg);
}
model.prototype.get = function(name) {
return this[name] || '';
};
model.prototype.set = function(attr) {
var pool = {},
hdl;
for (var p in attr) {
var arr = p.split('.'),
len = arr.length,
first = arr[0],
last = arr[len - 1],
hash = this,
i = -1;
while (++i < len - 1) {
hash = hash[arr[i]] = hash[arr[i]] || {};
}
hash[last] !== attr[p] && (hash[last] = attr[p], pool[first] = this[first]);
}
for (var p in pool) { (hdl = this.events[p]) && this[hdl](pool[p]);
}
};
model.prototype.save = function() {};
model.prototype.fetch = function() {};
return model;
};
功能估计是:
bind(对象);传入一个对象,再利用该对象的数据进行一些处理: