Javascript 使返回的匿名函数在每次调用中都具有相同的实例
下面的函数为每个调用返回一个新的匿名函数Javascript 使返回的匿名函数在每次调用中都具有相同的实例,javascript,typescript,Javascript,Typescript,下面的函数为每个调用返回一个新的匿名函数 public example() { return (): string => { return 'hello world'; }; } let a = example(); let b = example(); console.log(a === b); 以上内容将打印false 是否可以重复使用相同的匿名函数,而不必将其指定为this的属性。因此,函数是隔离的。您可以使用IIFE将示例作为一个函数,关闭要返
public example() {
return (): string => {
return 'hello world';
};
}
let a = example();
let b = example();
console.log(a === b);
以上内容将打印false
是否可以重复使用相同的匿名函数,而不必将其指定为
this
的属性。因此,函数是隔离的。您可以使用IIFE将示例
作为一个函数,关闭要返回的函数:
让示例=(()=>{
让_priv=()=>“你好,世界”;
返回函数(){return\u priv;};
})();
设a=example();
设b=example();
console.log(a==b)代码>
试着使用:console.log(deepEqual(a,b);
为什么不运行它?@ASDFGerte我已经更新了我的问题,您可以在上下文上展开吗?有什么问题吗?如果匿名函数中不需要闭包(如您当前的编辑),让example
关闭一个函数并每次返回该函数,例如,使用一个iLife。与此类似:public example=(()=>{let _priv=()=>“hello world”;return function(){return _priv;};
-在有private
(这听起来是一个有效的选择,但显然是不需要的)。
import * as deepEqual from "deep-equal";