模块模式浅析

 

遇到一个写法:

var funcName = function(){...}();

var singleton = function(){
    var privateVariable =10;
    function privateFunction(){
        return privateVariable;
    }
    return {
        publicProperty: true,
        publicMethod: function(){
            privateVariable++;
            return privateFunction();
        }
    };
}();

运行结果:

      


 

 

查阅了一下资料,这属于模块模式。如果单独写成:function(){...}(); 则会报错,具体原因如下:

立即执行函数: (function ( ){...})( ) 与 (function ( ){...}( )) 有什么区别?

 写成这样,效果也是一样的:

var funcName = (function(){...})();

 深入理解模块模式:

http://www.cnblogs.com/starweb/archive/2013/02/17/2914023.html

 

js模块化历程

 

posted @ 2017-05-19 17:03  当归远志  阅读(199)  评论(0编辑  收藏  举报