遇到变化点封装它!
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
<head>
4
<title> change state </title>
5
<meta name="generator" content="editplus" />
6
<meta name="author" content="" />
7
<meta name="keywords" content="" />
8
<meta name="description" content="" />
9
</head>
10
11
<body>
12
<input type="button" id="execBtn" value="show1" />
13
<div id="show"></div>
14
<script type="text/javascript">
15
function Control(state)
{
16
this.State = state;
17
this.Execute = function()
{
18
this.State.Execute(this);
19
}
20
}
21
22
function State()
{
23
this.Title = "title1";
24
this.Execute = function(control)
{
25
show.innerHTML = this.Title;
26
execBtn.value = "show2";
27
control.State = new State2();
28
}
29
}
30
31
function State2()
{
32
this.Title = "title2";
33
this.Execute = function(control)
{
34
show.innerHTML = this.Title;
35
execBtn.value = "show1";
36
control.State = new State();
37
}
38
}
39
40
var control;
41
42
window.onload = function()
{
43
control = new Control(new State());
44
control.Execute();
45
}
46
47
execBtn.onclick = function()
{
48
control.Execute();
49
}
50
51
52
</script>
53
</body>
54
</html>
55

2

3

4

5

6

7

8

9

10

11

12

13

14



15



16

17



18

19

20

21

22



23

24



25

26

27

28

29

30

31



32

33



34

35

36

37

38

39

40

41

42



43

44

45

46

47



48

49

50

51

52

53

54

55
