覆盖闭包内的私有函数

时间:2013-05-13 14:05:13

标签: javascript jquery jquery-plugins closures

我有这个益智游戏。我已经下载了一个具有以下结构的jQuery插件

(function($, undefined) {
 function a() {
  ...
 }

 $.fn.fullCalendar = function(options) {
  ...
  var avar = a(); 
  ...
 }
})(jQuery);

我的目标是修改插件(我需要覆盖'a'功能)但我无法触摸核心,我需要从外部文件修改它。所以...问题是我不知道有没有办法访问一个未命名的闭包,第二个如果我能够覆盖其中的私有函数?

更具体一点:插件是:http://arshaw.com/fullcalendar,我需要覆盖核心内的'daySegHTML'功能。

感谢您的任何建议。

1 个答案:

答案 0 :(得分:1)

你不能覆盖闭包中的函数(至少如果它们不以某种方式暴露在外面则不会)。修改它的唯一机会是修改源代码本身(如果许可证允许的话)。

闭包用于“隐藏”用户的功能。这可能是为什么像谷歌地图这样强大的JavaScript库的唯一原因。