javascript 状态模式示例(JavaScript)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 状态模式示例(JavaScript)相关的知识,希望对你有一定的参考价值。
var StateManager = function() {
var currState = 'wait';
var states = {
jump: function( state ) {
},
wait: function( state ) {
},
attack: function( state ) {
},
crouch: function( state ) {
},
defense: function( state ) {
if ( currState === 'jump' ) {
return false; //不成功,跳跃的时候不能防御
}
//do something; //防御的真正逻辑代码, 为了防止状态类的代码过多, 应该把这些逻辑继续扔给真正的fight类来执行.
currState = 'defense'; // 切换状态
}
}
var changeState = function( state ) {
states[ state ] && states[ state ]();
}
return {
changeState : changeState
}
}
var stateManager = StateManager();
stateManager.changeState( 'defense' );
if ( state === 'jump' ) {
if ( currState === 'attack' || currState === 'defense' ){
return false;
}
}else if ( state === 'wait' ) {
if ( currState === 'attack' || currState === 'defense' ){
return true;
}
}
以上是关于javascript 状态模式示例(JavaScript)的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript设计模式_13_状态模式
严格模式
Thingsboard_导航到新仪表板状态_Widget 自定义操作_Javascript 代码
十二月份阅读书单
JavaScript正则表达式常用技巧
MVVM模式理解(转)