开发者社区 问答 正文

关于数组数据存放问题

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);

展开
收起
小旋风柴进 2016-05-27 08:24:23 1641 分享 版权
1 条回答
写回答
取消 提交回答
  • this.clientList是:

    { 
        squareMeter100: [function (){}], 
        squareMeter80: [function (){}]
    }

    注意数组也是对象

    2019-07-17 19:16:53
    赞同 展开评论
问答地址: