JSFiddle - React, Tailwind, and code Playground
by gradbot
JavaScript
var test = 0;
var guid = 0;
function Singleton(fn) {
if (!"guid" in fn) {
fn.guid = guid++;
}
if (fn.guid in Singleton.fn_map) {
return Singleton.fn_map[fn.guid];
} else {
return Singleton.fn_map[fn.guid] = fn();
}
}
Singleton.fn_map = {};
var DB_init = function() { return test++; };
console.log(Singleton(DB_init));
console.log(Singleton(DB_init));
function DB() {
if ("instance" in DB) {
return DB.instance;
} else {
return DB.instance = test++;
}
}
console.log(DB());
console.log(DB());