js里的状态模式
状态模式
状态模式的定义:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。
简单来说就是在一个类里封装入多个表示这个类的不同状态的对象,在当前的状态改变后,调用状态代表的对象的方法。
class Homo {
constructor() {
this.state = "";
this.actives = {
run() {
console.log("跑");
},
walk() {
console.log("走");
},
jump() {
console.log("跳");
},
};
}
setState(active) {
this.state = active;
}
do() {
this.actives[this.state]();
}
}
const man = new Homo();
man.setState("jump");
man.do();
man.setState("run");
man.do();
像这样就做到了最简单的状态模式。

浙公网安备 33010602011771号