Я знаю, что $() - это функция jQuery ... но что означает $ ({}) reference/do? Я смотрю на код Бена Alman в https://gist.github.com/705311
(function(jQuery){
var o = jQuery({});
jQuery.each({
"subscribe" : "bind",
"unsubscribe" : "unbind",
"publish" : "trigger"
}, function (fn, api) {
jQuery[ fn ] = function() {
o[ api ].apply(o, arguments);
};
});
})(jQuery);
Я пытаюсь выяснить, как этот код делает то, что он делает. Может кто-то сломать его? Кроме того, что такое метод jQuery.apply()? Я не вижу его в документах jQuery - я могу найти только 4-летний плагин jQuery apply(), который, я сомневаюсь, сейчас находится в ядре.
Существует более новая, менее сложная версия на https://gist.github.com/661855, но мне более любопытно, что/как версия 0.X этого кода даже работала.
..edit .. Я понимаю, что $ ({}) - пустой объект, завернутый в jQuery. Вопрос в том, зачем это делать, и как он тогда заканчивает тем, что создал $ .subscribe(), $ .unsubscribe() и $ .publish() из этого крошечного фрагмента кода, особенно бит o[ api ].apply(o, arguments);
?
Другие объяснили, что делает код, но, насколько '.Не()' - это не метод JQuery, это стандартный JavaScript как [объяснено в MDN] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/apply). – nnnnnn