【Javascript】JS单例模式的简单实现

代码虽然简单,但是功能不少,可以是带参数的构造函数,也支持继承的。写在这便于记录以后复用。

var Singleton = function (){
    var single;
    return {
        getInstance:function (fn, args){
            if (single){
                return single;
            } else {
                var F = function (){};
                F.prototype = fn.prototype;
                single = new F || {};
                fn.apply(single, Array.prototype.slice.call(arguments, 1));
                return single;
            }
        }
    }
}();

代码不多,基本上思路是这样的。个人感觉应该比较简洁了。使用起来直接是var p = Singleton.getInstance(MyClass, args....)

原文地址:https://www.cnblogs.com/echoloyuk/p/3410621.html