学习了一下javascript的模块化编程】的更多相关文章

现在在我脑海里关于“模块化”的概念是这些词:简单.具有逻辑之美.易用.健壮.可扩展.似乎这些形容与我现在水平写出的代码有点格格不入啊. 所以今天想了解和简单的实践一下“模块化开发”. 1.首先学习一下基础理论方面的知识: 只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块.有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块. var module1 = ( function (mod){ //... return mod; })(window.module…
前言 模块是任何大型应用程序架构中不可缺少的一部分,模块可以使我们清晰地分离和组织项目中的代码单元.在项目开发中,通过移除依赖,松耦合可以使应用程序的可维护性更强.与其他传统编程语言不同,在当前JavaScript里,并没有提供原生的.有组织性的引入模块方式.本文就来探讨一下目前的常见几种模块化解决方案. 1.对象字面量表示法 对象字面量可以认为是包含一组键值对的对象,每一对键和值由冒号分隔.对象字面量不需要使用new运算符进行实例化,在对象的外部也可以给对象添加属性和方法.示例如下: var…
随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂. 网页越来越像桌面程序,需要一个团队分工协作.进度管理.单元测试等等......开发者不得不使用软件工程的方法,管理网页的业务逻辑. Javascript模块化编程,已经成为一个迫切的需求.理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块. 但是,Javascript不是一种模块化编程语言,它不支持"类"(class),更遑论"模块&q…
http://www.ruanyifeng.com/blog/2012/10/javascript_module.html 本文内容 引入 模块化 最初写法 对象写法 立即执行函数写法 放大模式 宽放大模式 把模块作为参数 模块化规范:CommonJS 和 Asynchronous Module Definition CommonJS Asynchronous Module Definition 用 require.js 加载模块   引入 1995 年 Javascript 诞生时,只是一种为…
长久以来都渴望应用javascript的模块化编程.今日紧迫更甚,岁月蹉跎,已经不能再等了. 拜读阮一峰的有关文章已经好几遍,文章写得真好,简洁流畅,头头是道,自觉有点明白了.但经验告诉我们,一定要亲手试一试. 一试之下,果然走了一些弯路,加深了理解. 一.下载require.js http://requirejs.org/docs/download.html 二.编写相应测试代码.计有: 页面:/index.html 主体结构定义JS:/main.js 符合AMD规范的模块化JS: /js/a…
AMD规范,异步模块定义.与CommonJS规范齐名并列. 作用都是利于JavaScript的模块化编程. 模块化编程的好处就是: 1.可重用 2.独立 3.能解决加载的依赖性问题 4.能解决重复加载问题 CommonJS是Mozilla 的工程师 Kevin Dangoor 在2009年1月创建的,当时的名字是 ServerJS,后来改名为 CommonJS,以显示其 API 的更广泛实用性.CommonJS是一套规范,创建和核准是开放的,已经有很多版本和具体实现.CommonJS 并不属于…
题外: 进行web开发3年多了,javascript(后称js)用的也比较多,但是大部分都局限于函数的层次,有些公共的js函数可重用性不好,造成了程序的大量冗余,可读性差(虽然一直保留着注释的习惯,但是最后发现注释远远不够),影响了页面的加载速度和性能.去年开始着手对既有前端脚本进行重构和优化,查阅了很多技术大牛分享的资料,也比较系统的阅读了一遍<javascript权威指南>,js模块化编程深深的吸引了我,它改变了我编写js脚本程序的方式,同时也让代码的可读性和可维护性进一步增强. 下边就根…
转载地址:http://www.ruanyifeng.com/blog/2012/10/javascript_module.html 阮一峰 大神:http://www.ruanyifeng.com/home.html 随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂. 网页越来越像桌面程序,需要一个团队分工协作.进度管理.单元测试等等......开发者不得不使用软件工程的方法,管理网页的业务逻辑. Javascript模块化编程,已经成为一…
面向对象的模块化编程 模块是一个独立的JS文件,模块文件可以包含一个类定义.一组相关的类.一个实用函数库.一些待执行的代码 模块化的目标:支持大规模的程序开发,处理分散源代码的组装,并能让代码正确执行;不同的模块必须避免修改全局上下文,模块应当尽可能少的定义全局标识; 在模块创建过程中避免污染全局变量的一种方法是使用一个对象作为命名空间('容器'); 为了保持干净的全局命名空间,将'容器'类定义为一个单独的全局对象,如:var sets = {}; 这个sets对象就是模块的命名空间,并且将每个…
关于AMD规范可以参考阮一峰的这篇文章Javascript模块化编程(二):AMD规范 简单来说,AMD规范就是异步方式加载模块的一种方式,避免因为模块加载过慢而导致浏览器“假死”. 先贴一个学习地址,学习了再来补 http://www.ruanyifeng.com/blog/2012/10/javascript_module.html…