您现在的位置是:课程教程文章
js状态模式是什么
2023-12-14 20:31课程教程文章 人已围观
-
JS成神之路 | 面向对象 | ES6 | VueJS | React
JS成神之路 | 面向对象 | ES6 | VueJS | React... -
jsp java微信公众号网页授权和用户信息
jsp java微信公众号网页授权和用户信息讲解用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,... -
游戏AI实战课—深入浅出tensorflow.js
游戏AI实战课—深入浅出tensorflow.js课程咨询、获取课件、技术交流直接加入博学谷在线学习:631731828 课程简介 本... -
解锁Mybatis源码实战 解决低耦合高内聚、
解锁Mybatis源码实战 解决低耦合高内聚、需要领取课前资料的同学可以加群联系萌萌或者艾琳老师领取资料 给你开通直...
说明
1、关键是区分事物内部的状态,事物内部状态往往会带来事物的行为改变。
即允许对象在内部状态发生改变时改变它的行为。
2、状态模式就是封装状态,允许一个对象在其内部状态改变时改变它的行为,我们之前一般都是封装行为。
实例
//红灯 classRedLight{ constructor(state){ this.state=state; } light(){ console.log('turntoredlight'); this.state.setState(this.state.greenLight) } } //绿灯 classgreenLight{ constructor(state){ this.state=state; } light(){ console.log('turntogreenlight'); this.state.setState(this.state.yellowLight) } } //黄灯 classyellowLight{ constructor(state){ this.state=state; } light(){ console.log('turntoyellowlight'); this.state.setState(this.state.redLight) } } classState{ constructor(){ this.redLight=newRedLight(this) this.greenLight=newgreenLight(this) this.yellowLight=newyellowLight(this) this.setState(this.redLight)//初始化为红灯 } setState(state){ this.currState=state; } } conststate=newState(); state.currState.light()//turntoredlight setInterval(()=>{ state.currState.light()//每隔3秒依次打印红灯、绿灯、黄灯 },3000)
以上就是js状态模式的介绍,希望对大家有所帮助。更多js学习指路:js教程
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。
课程教程:js状态模式是什么上一篇:java静态代理是什么
下一篇:没有了