发表于: 2017-05-05 23:08:45

1 1106


今天完成的事情:

      1.写任务4法官日记和黑夜解密的样式

      2.学习JS有限状态机:

         三特征:状态总数(state)是有限的。

                      任一时刻,只处在一种状态之中。

                      某种条件下,会从一种状态转变(transition)到另一种状态。

        

        简单说,有限状态机是一种模型,模型都用来模拟事物,能够被有限状态机这种模型模拟的事物,一般都有以下特点:

      1.可以用状态来描述事物,并且任一时刻,事物总是处于一种状态;

      2.事物拥有的状态总数是有限的;

      3.通过触发事物的某些行为,可以导致事物从一种状态过渡到另一种状态;

      4.事物状态变化是有规则的,A状态可以变换到B,B可以变换到C,A却不一定能变换到C;

      5.同一种行为,可以将事物从多种状态变成同种状态,但是不能从同种状态变成多种状态。

      

      有限状态机的函数库Javascript Finite State Machine:

      交通信号灯的描述:

      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' }

    ]

  });

     交通信号灯的初始状态(initial)为green,events属性是触发状态改变的各种事件,比如warn事件使得green状态变成yellow状态,stop事件使得yellow状态变成red状态等等。生成实例以后,就可以随时查询当前状态。

     fsm.current :返回当前状态。

     fsm.is(s) :返回一个布尔值,表示状态s是否为当前状态。

     fsm.can(e) :返回一个布尔值,表示事件e是否能在当前状态触发。

     fsm.cannot(e) :返回一个布尔值,表示事件e是否不能在当前状态触发。


明天计划的事情:

    继续任务4


问题:

    任务3的时候不知道怎么在载入的同时就触发函数,加一个onload事件就好了


收获:

    如上



返回列表 返回列表
评论

    分享到