【说站】js状态模式是什么
2023-06-13 09:13:16 时间
js状态模式是什么
说明
1、关键是区分事物内部的状态,事物内部状态往往会带来事物的行为改变。
即允许对象在内部状态发生改变时改变它的行为。
2、状态模式就是封装状态,允许一个对象在其内部状态改变时改变它的行为,我们之前一般都是封装行为。
实例
// 红灯
class RedLight {
constructor (state) {
this.state = state;
}
light () {
console.log('turn to red light');
this.state.setState(this.state.greenLight)
}
}
// 绿灯
class greenLight {
constructor (state) {
this.state = state;
}
light () {
console.log('turn to green light');
this.state.setState(this.state.yellowLight)
}
}
// 黄灯
class yellowLight {
constructor (state) {
this.state = state;
}
light () {
console.log('turn to yellow light');
this.state.setState(this.state.redLight)
}
}
class State {
constructor () {
this.redLight = new RedLight(this)
this.greenLight = new greenLight(this)
this.yellowLight = new yellowLight(this)
this.setState(this.redLight) // 初始化为红灯
}
setState (state) {
this.currState = state;
}
}
const state = new State();
state.currState.light() // turn to red light
setInterval(() => {
state.currState.light() // 每隔3秒依次打印红灯、绿灯、黄灯
}, 3000)
以上就是js状态模式的介绍,希望对大家有所帮助。更多js学习指路:js教程
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。
收藏 | 0点赞 | 0打赏
相关文章
- js对数字数组排序[通俗易懂]
- html js 全局 变量,JS定义全局变量
- js里面的document.cookie详解
- 帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
- 初识js中的闭包_Js闭包中变量理解
- Js排序算法_js 排序算法
- metainfo.js
- js中四舍五入的方法_JS取整
- js小知识
- 原生 JS 实现 HTML 转 Markdown,以及其实现逻辑(html2md.js 或 html2markdown.js)
- JS动态引入js、CSS动态创建script/link/style标签详解编程语言
- JS event对象:记录当前事件的状态
- 使用JS连接MySQL数据库:实现化繁为简(js连接mysql数据库)
- JS技术连接Oracle数据库实现数据交互(js连接oracle实例)
- 使用JS在网页中连接Oracle数据库(js网页链接oracle)
- JavaScript探索之旅掌握Oracle和JS的完美融合(js与oracle)
- 从前端JS里请求Redis资源,搭建高性能应用(前端js请求redis)
- Oracle中使用JS变量管理数据(oracle使用js变量)
- 使用Oracle和JS开发新一代应用仿真世界(oracle js)
- js类中获取外部函数名的方法
- js获取鼠标位置杂谈附多浏览器兼容代码
- js获取坐标通过JS得到当前焦点(鼠标)的坐标属性
- js获取后台的字段改变checkbox的被选中的状态代码
- js和as的稳定传值问题解决
- js动态加载事件的几种方法总结
- JS版的date函数(和PHP的date函数一样)
- js控制输入框获得和失去焦点时状态显示的方法
- asp.net后台动态添加JS文件和css文件的引用实现方法