var Singleton = function(name) { this.name = name; this.instance = null; }; Singleton.prototype.getName = function() { alert(this.name); }; Singleton.getInstance = function(name) { if(!this.instance) { this.instance = new Singleton(name); } return this.instance; }; var a = Singleton.getInstance('sven1'); var b = Singleton.getInstance('sven2'); console.log(a === b); // true代码中的Singleton.prototype.getName和Singleton.getInstance俩个函数之间的区别是什么呢?Javascript没学好,望大佬解疑,谢谢!~
1 回答
慕田峪4524236
TA贡献1875条经验 获得超5个赞
1 Singleton.prototype.getName Singleton.prototype也是对象 相当于这个对象(Singleton.prototype)身上的getName 方法
2 Singleton.getInstance Singleton 这个对象上的方法 getInstance
var a = Singleton.getInstance('sven1') 相当于这个 Singleton 这个对象上的方法 getInstance 每次调用 那指向相同的引用 因为this.instance 在这个对象
内部 每次虽然传的参数不一样 但是引用都是一个 Singleton
所以 传不同名字 比如下图 b c d
添加回答
举报
0/150
提交
取消