Skip to content

Commit 76093cf

Browse files
committed
添加详细的描述,重构代码
1 parent 67d3997 commit 76093cf

File tree

3 files changed

+117
-23
lines changed

3 files changed

+117
-23
lines changed

AMD/README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<h3>异步模块定义</h3><br />
2+
AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义"。它采用异步方式加载模块,模块的加载不影响它后面语句的运行。<br />
3+
所有依赖这个模块的语句,都定义在一个回调函数中,等到加载完成之后,这个回调函数才会运行。<br />
4+
<br />
5+
AMD也采用require()语句加载模块,但是不同于CommonJS,它要求两个参数:<br />
6+
<code>
7+
8+
  require([module], callback);
9+
</code>
10+
11+
第一个参数[module],是一个数组,里面的成员就是要加载的模块;第二个参数callback,则是加载成功之后的回调函数。如果将前面的代码改写成AMD形式,就是下面这样:<<br />
12+
<code>
13+
14+
  require(['math'], function (math) {
15+
16+
    math.add(2, 3);
17+
18+
  });
19+
<code>
20+
<br />
21+
math.add()与math模块加载不是同步的,浏览器不会发生假死。所以很显然,AMD比较适合浏览器环境。<br />
22+
23+
目前,主要有两个Javascript库实现了AMD规范:require.js和curl.js。本系列的第三部分,将通过介绍require.js,进一步讲解AMD的用法,以及如何将模块化编程投入实战。<br />

CommonJS/README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<h3>CommonJS</h3>
2+
3+
2009年,美国程序员Ryan Dahl创造了node.js项目,将javascript语言用于服务器端编程。<br />
4+
5+
这标志"Javascript模块化编程"正式诞生。因为老实说,在浏览器环境下,没有模块也不是特别大的问题,毕竟网页程序的复杂性有限;<br />
6+
但是在服务器端,一定要有模块,与操作系统和其他应用程序互动,否则根本没法编程。<br />
7+
<br />
8+
node.js的模块系统,就是参照CommonJS规范实现的。在CommonJS中,有一个全局性方法require(),用于加载模块。假定有一个数学模块math.js,就可以像下面这样加载。<br />
9+
<code>
10+
  var math = require('math');
11+
<code>
12+
然后,就可以调用模块提供的方法:<br />
13+
14+
<code>
15+
  var math = require('math');
16+
  math.add(2,3); // 5
17+
<code>
18+
因为这个系列主要针对浏览器编程,不涉及node.js,所以对CommonJS就不多做介绍了。我们在这里只要知道,require()用于加载模块就行了

README.md

Lines changed: 76 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
--------------------------------------------------------------------------------
2-
Version 1.0.0
2+
javascript代码
3+
Version 1.0.0 <br/>
4+
Author:scott (吴超武) <br />
5+
有什么疑问和建议请发邮箱至Email:wchaowu@gmail.com <br />
6+
github:<a href="https://github.com/wchaowu/Javascript-Design-Patterns"> https://github.com/wchaowu/</a>
37
--------------------------------------------------------------------------------
4-
Author:scott (吴超武) <br />
5-
有什么疑问和建议请发邮箱至Email:wchaowu@gmail.com <br />
6-
github:<a href="https://github.com/wchaowu/Javascript-Design-Patterns"> https://github.com/wchaowu/</a>
78
<br />
8-
<br />
9-
109
积累的一些javascript的写法
11-
包含javascript的基础语法,面向对象的实现和设计模式实现
12-
10+
包含javascript的基础语法,面向对象的实现和设计模式实现,模块化开发 CommonJS AMD javascript常见的疑问,Jquery,Node.js html5
1311
目录的Demo 建议大家按照顺序看
1412
<h3>Oject-Oriented</h3>
1513
1.<a href="https://github.com/wchaowu/javascript-code/tree/master/object-oriented/Expressive-JavaScript">JavaScript Expressive </a> <br />
@@ -22,27 +20,82 @@ github:<a href="https://github.com/wchaowu/Javascript-Design-Patterns"> https://
2220
2.<a href="https://github.com/wchaowu/javascript-code/tree/master/javascript-based/this">JavaScript 闭包</a> <br />
2321
3.<a href="https://github.com/wchaowu/javascript-code/tree/master/javascript-based/event">JavaScript 事件</a> <br />
2422
<h3>Jquery</h3>
25-
1 . jQuery中 closure
23+
1 .<a href="https://github.com/wchaowu/javascript-code/blob/master/jquery/1_closure.js">
24+
jQuery中 closure
25+
</a>
2626
<h3>Javascript-Design-Pattern</h3>
27-
1 Singleton-Pattern <br />
28-
2 Chaining <br />
29-
3 Factory-Pattern <br />
30-
4 Bridge-Pattern <br />
31-
5 Composite-Pattern <br />
32-
6 Facade-Pattern <br />
33-
7 Adapter-Pattern <br />
34-
8 Decorator-Pattern <br />
35-
9 Flyweight-Pattern <br />
36-
10 Proxy-Pattern <br />
37-
11 Observer-Pattern <br />
38-
12 Comman-Pattern <br />
39-
13 Chain-of-Responsibility-Pattern <br />
27+
1.
28+
<a href="https://github.com/wchaowu/javascript-code/tree/master/JavaScript-Design-Patterns/The-Singleton-Pattern">
29+
Singleton-Pattern
30+
</a>
31+
<br />
32+
2.<a href="https://github.com/wchaowu/javascript-code/tree/master/JavaScript-Design-Patterns/Chaining">
33+
Chaining
34+
</a>
35+
<br />
36+
3<a href="https://github.com/wchaowu/javascript-code/tree/master/JavaScript-Design-Patterns/The-Factory-Pattern">
37+
Factory-Pattern
38+
</a>
39+
<br />
40+
4
41+
<a href="https://github.com/wchaowu/javascript-code/tree/master/JavaScript-Design-Patterns/The-Bridge-Pattern">
42+
Bridge-Pattern
43+
</a>
44+
<br />
45+
5
46+
<a href="https://github.com/wchaowu/javascript-code/tree/master/JavaScript-Design-Patterns/The-Bridge-Pattern">
47+
Composite-Pattern
48+
</a>
49+
<br />
50+
6
51+
<a href="https://github.com/wchaowu/javascript-code/tree/master/JavaScript-Design-Patterns/The-Facade-Pattern">
52+
Facade-Pattern
53+
</a>
54+
<br />
55+
7
56+
<a href="https://github.com/wchaowu/javascript-code/tree/master/JavaScript-Design-Patterns/The-Adapter-Pattern">
57+
Adapter-Pattern
58+
</a>
59+
60+
<br />
61+
<a href="https://github.com/wchaowu/javascript-code/tree/master/JavaScript-Design-Patterns/The-Decorator-Pattern">
62+
8 Decorator-Pattern
63+
</a>
64+
<br />
65+
9
66+
<a href="https://github.com/wchaowu/javascript-code/tree/master/JavaScript-Design-Patterns/The-Flyweight-Pattern">
67+
Flyweight-Pattern
68+
</a>
69+
<br />
70+
10
71+
<a href="https://github.com/wchaowu/javascript-code/tree/master/JavaScript-Design-Patterns/The-Proxy-Pattern">
72+
Proxy-Pattern
73+
</a>
74+
<br />
75+
11
76+
<a href="https://github.com/wchaowu/javascript-code/tree/master/JavaScript-Design-Patterns/The-Observer-Pattern">
77+
Observer-Pattern
78+
</a>
79+
<br />
80+
12
81+
<a href="https://github.com/wchaowu/javascript-code/tree/master/JavaScript-Design-Patterns/The-Command-Pattern">
82+
Command-Pattern
83+
</a>
84+
<br />
85+
13
86+
<a href="https://github.com/wchaowu/javascript-code/tree/master/JavaScript-Design-Patterns/The-Chain-of-Responsibility-Pattern">
87+
Chain-of-Responsibility-Pattern
88+
</a>
89+
90+
<br />
4091

4192
<h3>Javascript-疑问</h3>
4293
1 function前加操作符
4394

95+
<h3> javascript 模块化规范</h3>
96+
<h4>1. AMD</h4>
97+
<h4>2. CommonJS></h4>
4498
<h3>HTML5<h5>
45-
4699
------------------------
47100
参考资料
48101

0 commit comments

Comments
 (0)