我有这个益智游戏。我已经下载了一个具有以下结构的jQuery插件
(function($, undefined) {
function a() {
...
}
$.fn.fullCalendar = function(options) {
...
var avar = a();
...
}
})(jQuery);
我的目标是修改插件(我需要覆盖'a'功能)但我无法触摸核心,我需要从外部文件修改它。所以...问题是我不知道有没有办法访问一个未命名的闭包,第二个如果我能够覆盖其中的私有函数?
更具体一点:插件是:http://arshaw.com/fullcalendar,我需要覆盖核心内的'daySegHTML'功能。
感谢您的任何建议。
答案 0 :(得分:1)
你不能覆盖闭包中的函数(至少如果它们不以某种方式暴露在外面则不会)。修改它的唯一机会是修改源代码本身(如果许可证允许的话)。
闭包用于“隐藏”用户的功能。这可能是为什么像谷歌地图这样强大的JavaScript库的唯一原因。