好的,我真的已经阅读了所有可以全面了解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/

10-11 02:26