2.25学习经验分享#
Bruce_Zhu于2017.2.25
模块化是一个通用的编程最佳实践。程序的模块化使我们可以更方便地使用别人的代码,想要什么功能,就加载什么模块,从而提高代码的利用效率,增加开发速度。
模块就像积木,有了它,我们可以搭出各种各种功能样式的程序。积木有什么特点?小而简单。同样的,我们程序中的模块也要做到这一点,确保自己创建的函数一次只完成一个工作,这样其他开发者可以简单地调试与修改你的代码,而不需浏览所有代码才能弄清每一个代码块执行了什么功能。只有做到像这样地小而简单,才能实现其通用功能。
一、javascript模块化的方法
1、函数封装
JavaScript的作用域就是基于函数的,所以我们可以把函数作为模块。
<pre>
function fn1(){
//code
}
function fn2(){
//code
}
</pre>
缺点:"污染"了全局变量,无法保证不与其他模块发生变量名冲突
2、对象
<pre>
var myModule1 = {
fn1: function(){
//code
},
fn2: function(){
//code
}
}
</pre>
缺点:会暴露所有模块成员,内部状态可以被外部改写
3、立即自执行函数——推荐
<pre>
var myModule = (function(){
function fn1(){
//code
},
function fn2(){
//code
},
return {
fn1: fn1,
fn2: fn2
};
})();
</pre>