好吧,为了全面了解 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 新手 : why can't new objects be created from initializers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7507410/