好的,我真的已经阅读了所有可以全面了解Javascript的内容。我知道可以使用构造函数来完成此操作,但是我试图充分理解该语言以了解为什么会发生这种情况...
PeepClass = { color: "Yellow", shape: "Chick" };
var peepsA = new Object(PeepClass);
var peepsB = new Object(PeepClass);
if ( peepsA == peepsB )
document.write( "Why wouldn't these be unique instances?" );
为什么
new Object(PeepClass)
不创建PeepClass
对象的唯一实例?相反,它导致对同一对象的三个引用。 最佳答案
我想你想要这个:
var peepsA = Object.create( PeepClass );
现在
peepsA
是一个新对象,它继承自PeepClass
对象。顺便说一句,当您将一个对象传递给
new Object()
时,该对象将被返回,因此,该操作是空操作。PeepClass === new Object( PeepClass )
这意味着
new Object( obj )
表示法是没有意义的。关于javascript - Javascript Noob:为什么不能从初始化程序创建新对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7507410/