美文网首页
初涉 JavaScript 模块模式

初涉 JavaScript 模块模式

作者: 云音流 | 来源:发表于2017-02-26 17:25 被阅读0次

    什么是模块模式

      在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。


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

    相关文章

      网友评论

          本文标题:初涉 JavaScript 模块模式

          本文链接:https://www.haomeiwen.com/subject/fkwowttx.html