我是靠谱客的博主 虚幻刺猬,最近开发中收集的这篇文章主要介绍js es6实现通用单例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

js es6实现通用单例

//js通用单例
class Singleton {
static instance = {};
static getInstance() {
if (!Singleton.instance[this.name]) {
//console.log('实例化');打印两次
Singleton.instance[this.name] = new this();
}
return Singleton.instance[this.name];
}
}
class One extends Singleton {
fn() {
console.log("One");
}
}
class Two extends Singleton {
fn() {
console.log("Two");
}
}
One.getInstance().fn();
One.getInstance().fn();
Two.getInstance().fn();
Two.getInstance().fn();
/借鉴laravel源码 闭包缓存单例 暂时未用到/
const Closure = (function () {
let instance = {};
return {
setCache: function (k, v) {
instance[k] = v;
},
getCache: function (k) {
return instance[k];
},
};
})();
Closure.setCache("f", [1111]);
//console.log( Closure.getCache('f') );

最后

以上就是虚幻刺猬为你收集整理的js es6实现通用单例的全部内容,希望文章能够帮你解决js es6实现通用单例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部