Javascript OOP – 奇怪的构造函数
Javascript OOP – strange constructor
今天我发现了一个我无法解决的练习...Google 没有帮助。
你能告诉我在哪里可以找到解决方案吗?
a = new Pepper, b = new Pepper;
制作方法:
a === b
true
new Pepper 和 new Pepper() 有什么区别?我不明白...
不可能使两个不同的对象与 ===
比较相等。 new Pepper
和new Pepper()
没有区别,但是当你两次调用构造函数时,它会构造两个对象。请注意 {} === {}
也是 false
.
首先new Pepper()
和new Pepper
除了最后一个会伤到你的感情外,没有什么区别。感谢 Douglas Crockford 如果你明白我的意思。
如何制作a === b
? Singleton 就是答案。看看这个:
function Pepper () {
if (Pepper.instance) {
return Pepper.instance
}
Pepper.instance = this;
}
a = new Pepper, b = new Pepper;
a === b
这里是jsfiddle
如果您想了解更多关于单例的信息,请阅读:Learning JavaScript Design Patterns
今天我发现了一个我无法解决的练习...Google 没有帮助。 你能告诉我在哪里可以找到解决方案吗?
a = new Pepper, b = new Pepper;
制作方法:
a === b
true
new Pepper 和 new Pepper() 有什么区别?我不明白...
不可能使两个不同的对象与 ===
比较相等。 new Pepper
和new Pepper()
没有区别,但是当你两次调用构造函数时,它会构造两个对象。请注意 {} === {}
也是 false
.
首先new Pepper()
和new Pepper
除了最后一个会伤到你的感情外,没有什么区别。感谢 Douglas Crockford 如果你明白我的意思。
如何制作a === b
? Singleton 就是答案。看看这个:
function Pepper () {
if (Pepper.instance) {
return Pepper.instance
}
Pepper.instance = this;
}
a = new Pepper, b = new Pepper;
a === b
这里是jsfiddle
如果您想了解更多关于单例的信息,请阅读:Learning JavaScript Design Patterns