发表于: 2019-11-07 23:39:59

0 1058


今天完成的事


学习有限状态机

这个在菜鸟教程搜不到资料,不知道是不是关键字输入错了。


概述:

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


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


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


上面两条的理解是,网页上有一个菜单元素。鼠标悬停的时候,菜单显示;鼠标移开的时候,菜单隐藏。如果使用有限状态机描述,就是这个菜单只有两种状态(显示和隐藏),鼠标会引发状态转变。



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

杀手杀人,玩家死亡之后就是另一种状态?



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

法官治本画面轮流发言?发言过一次不能再点击一次的意思吗?



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

从各种身份变成死亡状态是多种变同种的意思吗




有一个菜单元素,鼠标悬停时,菜单显示;鼠标移开时,菜单隐藏。


跟CSS的用hover表现的区别是什么?


var fsm={

// 当前状态

currentState: 'hide',

// 绑定事件

initialize: function() {

var self = this;

self.on("hover", self.transition);

},

// 状态转换

transition: function(event){

switch(this.currentState) {

case "hide":

this.currentState = 'show';

doSomething();//在此调用回调函数

break;

case "show":

this.currentState = 'hide';

doSomething();//在此调用回调函数

break;

default:

console.log('Invalid State!');

break;

}

},

//callback

callback1:function(){...},

callback2:function(){...},

...};

//执行

fsm.initialize();

...



感觉这个真不适合JS新手学。。

曾凯师兄说除了这个任务后面一般都用不到了,可能工作的时候会需要用,还需要深度理解吗


明天的计划:

继续任务4




返回列表 返回列表
评论

    分享到