JavaScript自调用函数(self-invoking function)的例子,可以参见这里 。
我原来的程序是这样写的,使用了所谓的“单件对象 ”(Singleton object)的设计模式:
Divo = function() { return { init : function() { //这里执行所有初始化功能 } }() Divo.init()
现在,改用自调用函数方式,写成这样:
(function() { //这里执行所有初始化功能 })();
好处:
原来的做法中,Divo 对象中 init 函数一直存在,显然会占用内存(这一点我原来没有意识到)。
当然,你也可以在执行 Divo.init() 后,做 delete Divo.init。
因为在整个应用程序生命周期中, init 函数只需要执行一次,所以自调用函数是最简洁的一种写法。