传递原始值或对象时, jQuery tiny PubSub很棒,但是对于数组有一些麻烦。 所以我必须将数组包装到一个对象中。 (function($) { var o = $({}); $.subscribe = function() { o.on.apply(o, arguments); }; $.unsubscribe = function() { o.off.apply(o, arguments); }; $.publish = function() { o.trigger.apply(o, arguments); }; }(jQuery)); $.subscribe(‘test’,function(e,data){ console.log(data); }) $.publish(‘test’,1); //1 $.publish(‘test’,{a:1}); //{a:1} $.publish(‘test’,[2,3,4]); //2 $.publish(‘test’,{arr:[2,3,4]}) //{arr:[2,3,4]} 我已经看到了它的一些改进版本,它主要关注缓存订阅者,但它们都不能传递数组。 那么,有两个问题: 通过PubSub传递数组是个好主意吗? 怎么做?