28
2014 06月
AMD规范及require.js用法(Javascript模块化编程)
by DareWe
页面涉及愈来愈越像win7桌面环节,需用一款 精英团队安排通力合作、学习进度治理、單元測試等一等......的设计者禁止不电脑运行免费软件设计项目的技巧,治理页面涉及的的业务领域形式思维模式。Javascript组件化程序编程序,都已是当上一款 亟待解决的消费需求。自然问题下,的设计者只需用推动价值体系的的业务领域形式思维模式,同一都行以读取自己都已是写好的组件。Javascript特别作过多全力以赴,在目前的电脑运行自然环境中,推动"组件"的感觉。论文汇报总结了眼下"Javascript组件化程序编程序"的较好实践教学,这说明怎么样才能资金投入好用。然而这不再是中级教程视频,可凡是稍微明白Javascript的通常语法结构,就可看懂。
一、原始写法
板块说是体现不同实用功能的五组措施。只需把其他的数学函数(和纪录模式的因素)简单地放置于混着,就可算同一个信息模块。 function m1(){ //... } function m2(){ //... }顶端的方程m1()和m2(),组合一名控制器。运行的之后,单独获取就行了。种作法的毛病很明显的:"污染源"了静态局部变量类型,无发保护不与其它的控制板块引发局部变量类型名问题,还有就是控制板块成員间看不用直接性干系。二、对象写法
从而解决处理上文的缺陷:,还可以把功能写出一款因素,很多的功能班子都置于这里因素里头。 var module1 = new Object({ _count : 0, m1 : function (){ //... }, m2 : function (){ //... } });上方的数学函数m1()和m2(),都装封在module1项目里。便用的当时,还是获取这样项目的人物属性。 module1.m1();然而 ,这样一来的写法会暴露自己其它信息模块的人,组织结构的状态可不需要被外观创新。好比,外观二维码可不需要随便调整组织结构记数器的值。 module1._count = 5;三、立即执行函数写法
运用"随时制定涵数"(Immediately-Invoked Function Expression,IIFE),可不可以高达不展现私有组员的需求。 var module1 = (function(){ var _count = 0; var m1 = function(){ //... }; var m2 = function(){ //... }; return { m1 : m1, m2 : m2 }; })();实用上端的写法,外边编号无非读入实物的_count自变量。 console.info(module1._count); //undefinedmodule1是Javascript引擎的常见写法。下文,再对各种写法做出粗加工。