初涉 JavaScript 模块模式

什么是模块模式

  在JavaScript中没有包(Package)的概念,而面对日益庞大的JavaScript代码,而这正促使模块化开发的迫切需求,所以也就诞生了JavaScript的模块模式, JavaScript模块模式原先是由Yahoo的Douglas Crockford提出的,他称之为 模块模式 (Module Patterns).

  模块模式提供了用于创建独立解耦的代码片段的工具,这些代码可以被当成黑盒,当你正在写的软件需求发生变化时,这些代码可以被添加、替换、移除。

模块模式是好几种模式的组合,它包括

  • 即时函数模式
  • 私有和特权成员模式
  • 命名空间模式
  • 依赖声明模式
即时函数模式

  JavaScript中的匿名闭包是让一切成为可能的基础,而且这也是JavaScript最好的特性。函数内运行的代码都存在于闭包内,这个闭包在整个应用的生命周期内都保持私密和自己的状态。

var Cart=(function(){
        //私有
        var my={},cart=[];                  
        function math_num(){
            return cart.length;
        };
        //公有
        my.name=function(){
            var temp=[];
            for(key in cart){
                temp.push(cart[key].item);
            }
            return temp;
        };
        my.sum=math_num;
        my.add=function (i) {
            cart.push(i);
        };
        return my;
}());

  我们通过即时函数提供的私有作用域保证了模块私有成员的私有性,在最后返回对象了一个对象,该对象包含该模块的公共API。


未完,待续 ···········

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容