发表于: 2017-05-07 23:06:31
1 885
今日所做:
1.完成任务4之前版本的修改,但是由于任务内容修改,还需进一步改进
2.学习并使用有限状态机,并对其特点有了一些了解:
(1)有限状态机本质是一个对象,此对象有个初始状态,在某个行为的
触发下可以进行状态转换,但是同一时刻,该对象只能有一种存在状态
(2)对于我们来说,有限状态机可以借鉴之处在于我们可以通过把状态
设置进对象中,然后通过对对象目前状态的判断,来选择执行某个行为
(3)网上有有限状态机的js库,这个库里封装了一些列方法,使用起来
非常方便:
var fsm = StateMachine.create({
initial: 'green',
events: [ { name: 'warn', from: 'green', to: 'yellow' }, { name: 'stop', from: 'yellow', to: 'red' }, { name: 'ready', from: 'red', to: 'yellow' }, { name: 'go', from: 'yellow', to: 'green' } ]
});
如图所示,我们使用StateMachine.create方法来创建一个对象,然后设置初始状态,
在events对象里面设置不同行为的名字以及会触发状态做出怎样的改变,其中initial、name、
from、to、等名字是不可更改的,已经提前设置好了,但是对象的名字可以修改
(4)有限状态机最好用的地方在于它还可以在事件里面添加方法来触发函数的执行
明日计划:
一边进行接下来的任务一边修改任务4
评论