JavaScript 模块化编程(三)

Author : lovecicy

原文:阮一峰 这个系列的第一部分介绍了Javascript模块的基本写法,今天介绍如何规范地使用模块。   七、模块的规范 先想一想,为什么模块很重要? 因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。 但是,这样做有一个前提,那就是大家必须以同样的方式编写模块,否则你有你的写法,我有我的写法,岂不是乱了套!考虑到 Javascript 模块现在还没有官方规范,这一点就更重要了。 目前,通行的 Javascript 模块规范共有两种:CommonJS 和 AMD。我主要介绍 AMD,但是要先从 CommonJS 讲起。 八、CommonJS 2009年,美国程序员 Ryan Dahl 创造了 node.js 项目,将 Javascript 语言用于服务器端编程。   这标志”Javascript 模块化编程”正式诞生。因为老实说,在浏览器环境下,没有模块也不是特别大的问题,毕竟网页程序的复杂性有限;但是在服务器端,一定要有模块,与操作系统和其他应用程序互动,否则根本没法编程。 node.js 的模块系统,就是参照 CommonJS [Read More]

standard

JavaScript 模块化编程(二)

Author : luckyGirl

Javascript模块化编程,已经成为一个迫切的需求。理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块。本文总结了当前"Javascript模块化编程"的最佳实践,说明如何投入实用。虽然这不是初级教程,但是只要稍稍了解Javascript的基本语法,就能看懂。 一、原始写法 模块就是实现特定功能的一组方法,只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块。 fucntion m1(){ //… } fucntion m2(){ //… } 上面的函数m1()和m2(),组成一个模块。使用的时候,直接调用就行了。这种做法的缺点很明显:”污染”了全局变量,无法保证不与其他模块发生变量名冲突,而且模块成员之间看不出直接关系。 二、对象写法 为了解决上面的缺点,可以把模块写成一个对象,所有的模块成员都放到这个对象里面 var module1 = new Object({ _count: 0, m1: function(){ //… }, m2: function(){ //&#8230[Read More]

standard

JavaScript 模块化编程(一)

Author : luckyGirl

工作后做的项目使用的是YUI库,遇到很蹩脚的一个问题就是外部JS的引用,由于引用的文件有时候会很多,并由于之间有依赖关系,希望它们能够依次加载,就形成下面的代码,相信很多人也遇到过: <script src=”1.js”></script> <script src=”2.js”></script> <script src=”3.js”></script> <script src=”4.js”></script> <script src=”5.js”></script> <script src=”6.js”></script> 这样的写法有很大的缺点,首先加载的时候,浏览器会停止网页渲染,加载文件越多,网页失去响应的时间就会越长;其次,由于js文件之间存在依赖关系,因此必须严格保证加载顺序(比如上例的1.[Read More]

standard