JavaScript 运行时:函数、Promise 与事件的深度解析
1. 函数作为参数传递
在 JavaScript 里,函数属于一等公民,这意味着函数能够当作参数传递、作为另一个函数的返回值返回、赋值给变量,还能存储为对象的属性。将函数作为参数传递是提供回调的机制。
可以利用传递函数作为参数的能力来实现简单的观察者模式,在一个类中存储订阅者集合,并向所有订阅者发布事件。以下是简单观察者模式的代码示例:
interface Subscriber {
(message: string): void;
}
class Publisher {
private subscribers: Subscriber[] = [];
addSubscriber(subscriber: Subscriber) {
this.subscribers.push(subscriber);
}
notify(message: string) {
for (let subscriber of this.subscribers) {
subscriber(message);
}
}
}
const publisher = new Publisher();
// 使用箭头函数
publisher.addSubscriber((message) => console.log('A: ' + message));
// 使用内联函数
publisher.addSubscriber(function (message) {
超级会员免费看
订阅专栏 解锁全文
750

被折叠的 条评论
为什么被折叠?



