We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent ba6a577 commit 8ad5830Copy full SHA for 8ad5830
1 file changed
JavaScript-Design-Patterns/State-Pattern/README.md
@@ -5,7 +5,9 @@
5
隆有走动,攻击,防御,跌倒,跳跃等等多种状态,而这些状态之间既有联系又互相约束。<br />
6
比如跳跃的时候是不能攻击和防御的。跌倒的时候既不能攻击又不能防御,而走动的时候既可以攻击也可以跳跃。<br />
7
要完成这样一系列逻辑, 常理下if else是少不了的. 而且数量无法估计, 特别是增加一种新状态的时候, 可能要从代码的第10行一直改到900行. <br />
8
-'''javascript
+
9
10
+```javascript
11
if ( state === 'jump' ){
12
if ( currState === 'attack' || currState === 'defense' ){
13
return false;
@@ -15,8 +17,11 @@ if ( state === 'jump' ){
15
17
return true;
16
18
}
19
20
21
```
22
23
为了消灭这些if else, 并且方便修改和维护, 我们引入一个状态类.
24
25
```javascript
26
var StateManager = function(){
27
var currState = 'wait';
@@ -46,4 +51,5 @@ var StateManager = function(){
46
51
47
52
var stateManager = StateManager();
48
53
stateManager.changeState( 'defense' );
49
-```
54
+```
55
+Edit By [MaHua](http://mahua.jser.me)
0 commit comments