JavaScript模块化开发1

本文介绍了JavaScript模块化开发的四种方式:function方式、对象方式、立即执行的匿名函数及使用第三方库如RequireJS和SeaJS。重点讲解了每种方式的特点及其解决的问题。

    JavaScript模块化开发时非常重要的开发方式,由于JavaScript没有java那样的package的概念,那么JavaScript如何实现模块化开发呢?有如下方式:

    1.function方式:

    众所周知,JavaScript的作用域是function级别的,所以我们可以将我们的代码放在一个function中作为一个模块,这样做是非常方便简单的,但这样的方式有一个致命的问题就是,当模块很多时,会有多个function变量,这样会造成全局变量污染的问题。

    var myModule=function(){
        ....
    }

    2.对象的方式:

    由于function方式的模块化开发会污染全局变量,那么如何消除这个影响呢?我们可以将function模块放到对象{}中,这样多个function可以组成一个模块了。尽管这种方式解决了全局变量污染的问题,但仍然有不足的地方。我们可以随时修改对象{}中的成员变量。

    

    var myModule={
        var variance1;
        var fun1=function(){
            ...
        }
        var fun2=function(){
            ....
        }
    }

    3.立即执行的匿名函数:

    如何完善对象方式的模块化开发呢?很简单的一个方式就是采用立即执行的匿名函数方式。这样我们就不能修改模块内的成员变量了。这种方式是JavaScript模块化的基础了。

    var myModule=(function(){
        var fun1=function(){
            ...
        }
        var fun2=function(){
            ...
        }
    })();


    4.采用JavaScript的模块化开发库

    以上的各种方式都是JavaScript原生方式的模块化开发。除了这些方式外,我们也可以使用RequireJS,SeaJS等第三方库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值