发表于: 2019-11-07 23:39:59
0 1059
今天完成的事
学习有限状态机
这个在菜鸟教程搜不到资料,不知道是不是关键字输入错了。
概述:
有限状态机是一种模型,模型都用来模拟事物,能够被有限状态机这种模型模拟的事物,一般都有以下特点:
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
评论