function App(){ this. name = arguments[0]; } App.prototype.getName = function(){ return this.name; } var InstanceFactory =(function(){ var instance = null; return function(){ if(!instance){ instance = new App(arguments[0]); } return instance; } })() var instance = InstanceFactory('testApp'); var instance1 = InstanceFactory('testApp1'); console.log(instance == instance1 )//ture
利用闭包延长单例对象的生命周期实现js的单利javascript