我有一个在jquery闭包中定义的函数,并由同一个闭包中的另一个函数调用。我可以覆盖被调用的函数而无需更改闭包本身。请参阅代码
(function($){
function Myfunction(value)
{
//do something with the value
}
$('a').live('click',function(){
MyFunction($(this).val())
});
}(JQuery));
有没有办法可以覆盖Myfunction
,以便在事件处理程序中调用Myfuntion
的覆盖副本。
答案 0 :(得分:2)
你做不到。 Functions defined inside closures are private - 他们:
[不能]直接从匿名函数外部访问
答案 1 :(得分:0)
编写function f() {}
会对函数执行一些操作(尽管我不会猜到将其保留在命名空间之外是其中之一)。写var f = function() { }
将f视为普通变量。