簡體   English   中英

在閉包中覆蓋私有函數

[英]Overriding a private function within a closure

我有這個難題。 我已經下載了具有以下結構的jQuery插件

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

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

我的任務是修改插件(我需要重寫'a'函數),但我無法觸及內核,需要從外部文件進行修改。 所以...問題是我不知道有沒有辦法訪問未命名的閉包,如果可以的話,我可以覆蓋其中的私有函數嗎?

更具體地說:插件是: http ://arshaw.com/fullcalendar,我需要在內核中覆蓋“ daySegHTML”功能。

謝謝您的任何建議。

您不能覆蓋閉包中的函數(至少如果不以某種方式暴露於外部則不能如此)。 修改它的唯一機會是修改源代碼本身(如果許可證允許的話)。

閉包用於向用戶“隱藏”功能。 這可能是為什么有強大的JavaScript庫(例如Google Maps)在那里的唯一原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM