状态函数
其他编程语言有一个共同特征,它们使用 static
关键字来增加函数变量的生命周期(不是范围),使其超出函数的调用范围,如 C 语言中的实现:
void called () {
static count = 0;
count++;
printf("Called : %d", count);
}
int main () {
called(); // Called : 1
called(); // Called : 2
return 0;
}
由于 JavaScript(TypeScript)并没有静态函数的功能,你可以使用一个包裹着本地变量的抽象变量,如使用 class
:
const { called } = new class {
count = 0;
called = () => {
this.count++;
console.log(`Called : ${this.count}`);
};
}();
called(); // Called : 1
called(); // Called : 2
看完两件小事
如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:
- 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
- 关注公众号 「IT平头哥联盟」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程