关于数组数据存放问题



 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);
salesOffices.trigger("squareMeter80", 100);

jquery JavaScript javascript面向对象

SenCy 9 years, 3 months ago

this.clientList是:


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

注意数组也是对象

YYlong answered 9 years, 3 months ago

Your Answer