如何在另一个匿名函数中扩展函数?

时间:2013-04-16 03:55:00

标签: javascript jquery

所有 我有以下代码:

(function($,undefined){
    function Abc(){
      function sayHello(){
          console.log("I am Abc");
      }
    }
})(jQuery);

我的问题是,如何向Abc添加更多方法或覆盖sayHello? 谢谢!

1 个答案:

答案 0 :(得分:2)

你做不到。它是一个局部变量,对Abc的调用是私有的。如果Abc以这种方式编写,则无法覆盖它。

如果你真的在制作方法,也许是这样的:

function Abc() {
    this.sayHello = function() {
        console.log("I am Abc");
    };
}

然后你可以像这样扩展和覆盖它:

function Cba() {
    Abc.apply(this, arguments);
    this.sayHello = function() {
        console.log("I am Cba");
    };
}