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)的主要内容,如果未能解决你的问题,请参考以下文章