Javascript OOP - 奇怪的构造函数

Vya*_*yap 1 javascript oop singleton constructor

今天我找到了一个我无法解决的练习...... Google没有帮助.你能告诉我哪里可以找到解决方案吗?

a = new Pepper, b = new Pepper;
Run Code Online (Sandbox Code Playgroud)

如何使它成为一种方式:

a === b
true
Run Code Online (Sandbox Code Playgroud)

新辣椒和新辣椒()有什么区别?我不明白...

Iva*_*van 8

首先,有没有什么区别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 
Run Code Online (Sandbox Code Playgroud)

这是jsfiddle

如果您想了解有关Singletons的更多信息,请阅读:学习JavaScript设计模式