NFH.017 - Javascript模块化编程


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>

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,018评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,198评论 4 61
  • 经过2个月的学习,虽然进步很慢,但是依然感觉到自己和儿子的改变,现在我每次都能心平气和的和儿子谈话,不在像以前一样...
    徐亚娟阅读 217评论 0 3
  • 舞蹈培训点放了两个星期假,我也休息了两个星期,一来时间不太够用,二来学游泳可以帮助锻炼练基本功的动力不那么...
    依然yiran06阅读 164评论 0 0
  • 我们为平庸的一双鞋,一把刀,一杯咖啡注入了新活力,坚信我们所创造的东西有装点他人生活的潜力,因为,是它先点亮了我们...
    flora_xu阅读 285评论 0 0