覆盖jquery闭包中定义的函数

时间:2011-06-03 15:53:01

标签: javascript jquery closures

我有一个在jquery闭包中定义的函数,并由同一个闭包中的另一个函数调用。我可以覆盖被调用的函数而无需更改闭包本身。请参阅代码

(function($){
    function Myfunction(value)
    {
        //do something with the value
    }
    $('a').live('click',function(){
        MyFunction($(this).val())
    });
}(JQuery));

有没有办法可以覆盖Myfunction,以便在事件处理程序中调用Myfuntion的覆盖副本。

2 个答案:

答案 0 :(得分:2)

你做不到。 Functions defined inside closures are private - 他们:

  

[不能]直接从匿名函数外部访问

答案 1 :(得分:0)

编写function f() {}会对函数执行一些操作(尽管我不会猜到将其保留在命名空间之外是其中之一)。写var f = function() { }将f视为普通变量。