【说站】js观察者模式是什么
2023-06-13 09:13:16 时间
js观察者模式是什么
说明
1、定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。
2、包括
Subject:主体对象(状态发布者),维护观察者列表,添加或删除观察者。
Observer:观察者,知道自己观察的状态是描述的哪一个对象,提供更新操作。
实例
class Subject {
constructor () {
this.state = 0;
this.observers = [];
}
getState () {
return this.state;
}
setState (state) {
this.state = state;
this.notify();
}
notify () {
this.observers.forEach(observer => {
observer.update();
})
}
attach (observer) {
this.observers.push(observer);
}
}
class Observer {
constructor (name, subject) {
this.name = name;
this.subject = subject;
this.subject.attach(this);
}
update () {
console.log(`${this.name} update, state: ${this.subject.getState()}`);
}
}
let sub = new Subject();
let observer1 = new Observer('o1', sub);
let observer2 = new Observer('o2', sub);
sub.setState(1);
以上就是js观察者模式的介绍,希望对大家有所帮助。更多js学习指路:js教程
收藏 | 0点赞 | 0打赏
相关文章
- js面向对象编程_JavaScript高级编程
- 在html中js如何给字符串中加换行符
- php 中js跳转页面跳转页面,js跳转代码_PHP页面跳转 Js页面跳转代码[通俗易懂]
- 【说站】js观察者模式和订阅模式的区别
- 【说站】js浮点数精度丢失的问题及解决
- 【说站】js装饰者模式是什么
- 【说站】js对象模式如何理解
- 【说站】js构造函数模式是什么
- JS设计模式之职责链模式
- JS设置定时器_js设置定时器
- JS常用方法
- 原生 JS 实现 HTML 转 Markdown ,html2md.js
- 嵌入式新开发模式(JavaScript)--C端与JS端方法调用
- Node.js批量抓取高清妹子图片 增强版详解编程语言
- 使用 JS 操作 Redis:实现强大数据存储.(js调用redis)
- 使用JS技术实现Oracle数据库链接(js 链接 oracle)
- 从前端JS里请求Redis资源,搭建高性能应用(前端js请求redis)
- 表单提交时自动复制内容到剪贴板的js代码
- 用JS实现的一个include函数
- js获得鼠标的坐标值的方法
- 在js中判断checkboxlist(.net控件客户端id)是否有选中
- 使用js完成节点的增删改复制等的操作
- JS将所有对象s的属性复制给对象r(原生js+jquery)
- js+div实现图片滚动效果代码
- jQuery避免$符和其他JS库冲突的方法对比