采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,还是不太明白为什么getInstance这个自执行函数不和其他函数一起定义在类里面呢?单独用Class.getInstance()的方法定义是因为只让这个函数被定义一次?不是很理解这个意思。。。非常感谢!
这就是单例模式的特色。单例模式是,不显示的用 new 来声明实例,而用调用一个函数来返回单一实例,即无论调用多少次,都返回那一个实例。
如果按照你说的方式,如何实现上述的要求呢?
在我回复您这条解答的过程中,我好像明白了您的意思,我本来是想把getInstance放在类里面定义,这样: Class SingleObject{ login(){ console.log('login...') } let getInstance = (function(){ let instance return function(){ if(!instance){ instance = new SingleObject() } return instance } })() } 后来想到如果这样的话,因为SingleObject不应该被new,那就永远也调用不到getInstance这个函数了,所以才把它用SingleObject.getInstance这个方法来定义,是这样么?非常感谢!
是的!
登录后可查看更多问答,登录/注册
系统学习JS设计模式,增强设计思想,提高代码质量。
2.3k 13
1.5k 10
1.2k 10
1.5k 9
1.6k 8
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号