突然理解了JavaScript自调用函数的用处

JavaScript自调用函数(self-invoking function)的例子,可以参见这里

我原来的程序是这样写的,使用了所谓的“单件对象 ”(Singleton object)的设计模式:

Divo = function() {
    return {
    init : function() {
      //这里执行所有初始化功能
    }
}()

Divo.init()

现在,改用自调用函数方式,写成这样:

(function() {

    //这里执行所有初始化功能

})();

好处:
原来的做法中,Divo 对象中 init 函数一直存在,显然会占用内存(这一点我原来没有意识到)。
当然,你也可以在执行 Divo.init() 后,做 delete Divo.init。

因为在整个应用程序生命周期中, init 函数只需要执行一次,所以自调用函数是最简洁的一种写法。

 

 

 

你可能感兴趣的:(JavaScript,设计模式,idea)