在JavaScript中实现单例的最简单/最简单的方法? [英] Simplest/Cleanest way to implement singleton in JavaScript?

查看:100
本文介绍了在JavaScript中实现单例的最简单/最简单的方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

解决方案

我认为最简单的方法是声明一个简单的对象文字:

  var myInstance = {
method1:function(){
//。 ...
},
method2:function(){
// ...
}
};

如果您想要在单例实例上使用私人成员,可以执行以下操作:

  var myInstance =(function(){
var privateVar ='';

function privateMethod {
// ...
}

return {// public interface
publicMethod1:function(){
//所有私人成员都可访问这里
},
publicMethod2:function(){
}
};
})();

这被称为模块模式 ,它基本上允许您将私有成员封装在对象上,使用关闭


What is the simplest/cleanest way to implement singleton pattern in JavaScript?

解决方案

I think the easiest way is to declare a simple object literal:

var myInstance = {
  method1: function () {
    // ...
  },
  method2: function () {
    // ...
  }
};

If you want private members on your singleton instance, you can do something like this:

var myInstance = (function() {
  var privateVar = '';

  function privateMethod () {
    // ...
  }

  return { // public interface
    publicMethod1: function () {
      // all private members are accesible here
    },
    publicMethod2: function () {
    }
  };
})();

This is has been called the module pattern, it basically allows you to encapsulate private members on an object, by taking advantage of the use of closures.

这篇关于在JavaScript中实现单例的最简单/最简单的方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆