这是单例模式吗

马尼什·库马尔

我试图编写单例类,最初我编写了以下代码,对我来说感觉就像单例。我向其中一个人展示了这个,他立即拒绝了它,所以这让我一直在想为什么它不是单例类,还是他错了?

    let MyFunc = (function(){
       let instance;
       return function(){
           if(instance){
              return instance;
           }
           instance = this;
       } 
    }());
  let o1 = new MyFunc();
  let o2 = new MyFunc(); 
  console.log(o1===o2) //returns true
TJ克劳德

我们无法猜测为什么那个人不同意。当然,无论您通过 调用它的次数如何,该代码都会返回单个对象new,并且该对象将MyFunc.prototype作为其原型。所以从这个意义上说,它是一个返回单例对象的函数。

JavaScript 中的单例构造模式没有太多用处(因为我们可以直接创建一次性对象),但这似乎是它的有效实现。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

这是单例的滥用吗?

来自分类Dev

模块模式真的必须是单例吗?

来自分类Dev

这个单例模式线程安全吗?

来自分类Dev

Rails:这是单表继承(STI)的用例吗?

来自分类Dev

ndb单例模式

来自分类Dev

单例模式说明

来自分类Dev

使用单例模式

来自分类Dev

单例设计模式

来自分类Dev

实现单例模式

来自分类Dev

单例模式对套接字有意义吗?

来自分类Dev

单例模式对Socket有意义吗?

来自分类Dev

这是 Java 线程安全(和 GC 安全)中的弱单例实现吗?

来自分类Dev

这是策略模式吗?

来自分类Dev

正确使用单例模式

来自分类Dev

C#单例模式

来自分类Dev

单例模式性能问题

来自分类Dev

单例模式-默认属性

来自分类Dev

设计模式:单例混淆

来自分类Dev

Swift:重构单例模式

来自分类Dev

Hadoop单例模式的用法

来自分类Dev

单例模式性能缺点

来自分类Dev

单例设计模式-Java

来自分类Dev

使用枚举版本单例模式时,修改单例类代码是扩展单例功能的唯一方法吗?

来自分类Dev

这是Deferred的好用例吗?

来自分类Dev

Angularjs服务是单例吗?

来自分类Dev

Angularjs服务是单例吗?

来自分类Dev

getInstance()是否根据单例模式表示单例?

来自分类Dev

多个情节提要:我应该使用单例模式来缓存它们吗?

来自分类Dev

多个情节提要:我应该使用单例模式来缓存它们吗?