我有一个a()要覆盖的函数,但也有一个a()要根据上下文按顺序执行的功能。例如,有时在生成页面时,我会想要像这样覆盖:
a()
function a() { new_code(); original_a(); }
有时像这样:
function a() { original_a(); other_new_code(); }
我如何original_a()从最重要的方面得到它a()?可能吗
original_a()
我知道很多人都建议不要以这种方式替代替代。我在问这种方式。
您可以执行以下操作:
var a = (function() { var original_a = a; if (condition) { return function() { new_code(); original_a(); } } else { return function() { original_a(); other_new_code(); } } })();
original_a在匿名函数内部进行声明可以防止其混乱全局名称空间,但可以在内部函数中使用它。
original_a
就像评论中提到的Nerdmaster一样,一定要()在最后加上。您想调用外部函数并将 结果 (两个内部函数之一)a存储在中,而不是将外部函数本身存储在中a。
()
a