今天,我发现了一个我无法解决的练习... Google无法提供帮助。
您能提示我在哪里找到解决方案吗?
a = new Pepper, b = new Pepper;
如何制作:
a === b
true
new Pepper和new Pepper()有什么区别?我不明白...
最佳答案
首先,new Pepper()
和new Pepper
没有区别,除了最后一个会伤害您的感觉。如果您知道我的意思,那么感谢道格拉斯·克罗克福德。
如何制作a === b
?答案是辛格尔顿。看一下这个:
function Pepper () {
if (Pepper.instance) {
return Pepper.instance
}
Pepper.instance = this;
}
a = new Pepper, b = new Pepper;
a === b
这是jsfiddle
如果您想了解有关Singletons的更多信息,请阅读:Learning JavaScript Design Patterns