概述
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实现通用单例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复