微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript-使返回的匿名函数对于每个调用都是相同的实例

以下函数为每个调用返回一个新的匿名函数.

public example() {
    return (): string => {
        return 'hello world';
    };
}

let a = example();
let b = example();

console.log(a === b);

上面会打印false

是否可以重新使用相同的匿名函数而不必将其分配为此属性.这样功能就被隔离了.

解决方法:

您可以通过使用IIFE来使示例成为关闭要返回的函数函数

let example = (() => {
    let _priv = () => "hello world";
    return function(){ return _priv; };
  })();
  
let a = example();
let b = example();

console.log(a === b);

在存在诸如使用打字稿的静态检查和私有方法之类的替代方法之前,这是私有变量的一种方法(如果不是这种方法).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐