var salesOffices = {};
salesOffices.clientList = [];
salesOffices.listen = function(key, fn) {
if (!this.clientList[key]) {
this.clientList[key] = [];
}
//我想问下这个this.clientList[key].push(fn)的表现形式是什么,
//this.clientList[key]这是个数组然后往push,会成什么结果??
//是这样的吗["squareMeter100",fucntion(){},"squareMeter80",fucntion(){},]
return this.clientList[key].push(fn);
}
salesOffices.listen("squareMeter100", function(price) {
console.log("价格=" + price);
});
salesOffices.listen("squareMeter80", function(price) {
console.log("价格=" + price);
});
salesOffices.trigger = function() {
var key = Array.prototype.shift.call(arguments), fns =this.clientList[key];
if (!fns || fns.length === 0) {
return false;
}
for (var i = 0, fn; fn = fns[i++]; ) {
fn.apply(this, arguments);
}
}
salesOffices.trigger("squareMeter100", 200);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
this.clientList是:
{
squareMeter100: [function (){}],
squareMeter80: [function (){}]
}
注意数组也是对象