如何在 JavaScript 中创建单例
在 JavaScript 中,单例模式确保只能创建一个类或对象的一个实例。实现单例的最简单方法是通过对象字面量:
var myInstance = { method1: function () { // ... }, method2: function () { // ... } };
对于私有成员,使用函数表达式:
var myInstance = (function() { var privateVar = ''; function privateMethod () { // ... } return { // public interface publicMethod1: function () { // All private members are accessible here }, publicMethod2: function () { } }; })();
这种模式称为模块模式,封装了通过闭包实现私有成员。
为了防止修改,请使用 Object.freeze:
Object.freeze(myInstance);
中ES6,使用 ES 模块:
// my-singleton.js const somePrivateState = [] function privateFn () { // ... } export default { method1() { // ... }, method2() { // ... } }
然后导入它:
import myInstance from './my-singleton.js' // ...
以上是如何在 JavaScript 中实现单例模式?的详细内容。更多信息请关注PHP中文网其他相关文章!