class Observerd { constructor(name) { this.name = name this.state = '走路' this.observerSet = new Set() } // 用于保存观察者们 setObserver(observer) { this.observerSet.add(observer) } // 用于设置该观察者"state"并通知所有观察者 setState(state) { this.state = state for (let observer of this.observerSet) { observer.update(this.name, state) } } } class Observer { // 用于被观察者进行消息通知,需要打印(console.log)数据, // 数据格式为:小明正在走路。 // 其中"小明"为被观察者的"name"属性,"走路"为被观察者的"state"属性 update(name, state) { console.log(`${name}正在${state}`); } }