Javascript 模块化编程

 

    记的刚开始用JS写代码的时候,都是一个方法一个方法的处理某个事情,比如

function check(){
   do something.....
}

 这样写的好处就是方便,什么时候用,什么时候写,但是坏处就是污染了全局空间,很容易出现重复的名字,而且不容易维护。

   后来想到了用命名空间来解决全局空间的问题,比如下面的写法

  

var com={};
var com.do={};
com.do.get=function(){};

   这样,方法名字就不会污染全局空间了,而且不同的人写的方法命名空间也会不一样,但是也有一个坏处那就是,每次调用一个方法的时候,都得写老长的名字,比如com.do.get(),这样很不人性化。

   所以模块化的概念就出来了,把每一个功能集合放在一个模块里,每个想引用别的模块的功能是,调用require即可,目前模块化编程规范有CMD和AMD,下面我就拿玉伯的seaJS模块类库来说说,怎么在程序里进行模块化编程。

 使用seajs开发模块的时候,要遵守CMD规范,一个文件就是一个模块,比如项目中通常会定义一个通用的JS文件,放一些常有的功能,可以如下定义

 //文件名为util.js
define(function(require,exports){ exports.showMsg(msg){ console.log(msg); }; });

 页面中调用可以这样写

<script  src="seajs.js"></script>
<script>
    seajs.use("util",function(util){
         util.showMsg("hello world!");
    });
</script>

  

posted @ 2013-03-30 23:21  feenan  阅读(2236)  评论(0编辑  收藏  举报