javascript - 使每次调用返回的匿名函数成为相同的实例
问题描述
以下函数为每个调用返回一个新的匿名函数。
public example() {
return (): string => {
return 'hello world';
};
}
let a = example();
let b = example();
console.log(a === b);
以上将打印false
是否可以重复使用相同的匿名函数而不必将其分配给this
. 使功能隔离。
解决方案
通过使用 IIFE,您可以拥有example
一个关闭要返回的函数的函数:
let example = (() => {
let _priv = () => "hello world";
return function(){ return _priv; };
})();
let a = example();
let b = example();
console.log(a === b);
这是私有变量的方法之一(如果不是方法),在有替代方法之前,比如使用 typescript 的静态检查和private
.
推荐阅读
- javascript - 在 Firefox 中缩放的 JavaScript 替代方案
- c++ - 使用非平凡构造函数初始化对象的 std::array
- r - 在 R 中创建一个循环变量
- javascript - 我可以输入和输出到同一个文本框是javascript吗?
- firebase - 当应用程序打开时,Rnfirebase 通知不起作用反应本机
- excel - 更新用户表单框架中的用户表单文本框
- lilypond - Lilypond:重复小节线中的括号
- javascript - 如果频道不是 NSFW,如何从帮助菜单中隐藏 NSFW 命令
- javascript - 为什么join()不会从javascript中的数组中删除空字符串?
- excel - 同步两个不同的工作簿