Javascript 重写闭包中的私有函数

Javascript 重写闭包中的私有函数,javascript,jquery,jquery-plugins,closures,Javascript,Jquery,Jquery Plugins,Closures,我有这个难题。我下载了一个jQuery插件,它具有以下结构 (function($, undefined) { function a() { ... } $.fn.fullCalendar = function(options) { ... var avar = a(); ... } })(jQuery); 我的任务是修改插件(我需要覆盖'a'函数),但我不能触及核心,我需要从外部文件修改它。所以问题是,我不知道是否有任何方法可以访问未命名的闭包,第二种方法是否可以

我有这个难题。我下载了一个jQuery插件,它具有以下结构

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

 $.fn.fullCalendar = function(options) {
  ...
  var avar = a(); 
  ...
 }
})(jQuery);
我的任务是修改插件(我需要覆盖'a'函数),但我不能触及核心,我需要从外部文件修改它。所以问题是,我不知道是否有任何方法可以访问未命名的闭包,第二种方法是否可以覆盖其中的私有函数

更具体地说:插件是:我需要覆盖内核中的“daySegHTML”函数


谢谢你的建议。

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


闭包用于向用户“隐藏”功能。这可能是google maps等强大javascript库存在的唯一原因。

这是完全不可能的。为什么您要覆盖函数而不是围绕函数编写?最糟糕的情况是,直接修改源代码。“围绕它写”是什么意思?a()是fullCalendar()的一部分。我想尝试重写函数中的特定if块或循环。不行。你必须覆盖整个东西。那么我如何修改插件的这部分功能呢?好的,我会尝试找到另一种方法来实现我的目标。谢谢大家的建议。以下是函数的实际定义(确认它不能被重写),以供参考