Javascript 为什么我的输出是Object{}而不是:MyObj{}?

Javascript 为什么我的输出是Object{}而不是:MyObj{}?,javascript,Javascript,使用webdev工具控制台时,如果键入浏览器对象,则返回console > console Console { } > console.log(console) undefined > Console { } 以这种方式适用于所有浏览器对象;但如果我使用自己的对象执行此操作,则输出没有我的objectName(MyObj),只有如下所示的“object”: > var MyObj=function(){} undefined > var instance =

使用webdev工具控制台时,如果键入浏览器对象,则返回console

> console
Console {  }
> console.log(console)
undefined
> Console {  }
以这种方式适用于所有浏览器对象;但如果我使用自己的对象执行此操作,则输出没有我的objectName(MyObj),只有如下所示的“object”:

> var MyObj=function(){}
undefined
> var instance = new MyObj();
undefined
> instance
Object {  }
> console.log(instance);
undefined
Object {  }
问题: 为什么我的输出是
Object{}
而不是:
MyObj{}


注:这是我第二次尝试澄清这个问题,第一次是,但没有效果。请不要做出像“编写一个toString()函数”这样的简单回答,这不是我想要的。我不仅在toString(intance+'')输出上寻找相同的行为,而且在“实例”输出本身上也寻找相同的行为。

因为
MyObj
继承自内置的
对象。控制台的输出就像是
函数
数组
对象
等,但不是您创建的对象,它只是一个实例。所以,它只输出原型链中的内容。

打印
MyObj{}
当您第一次得到的答案不满意时,不要重新发布相同的问题。如果您调查返回的
Console{…}
对象,您会发现您可以展开
\uuuuuu proto\uuuuo:Console>\uuuu proto\uuo:object>..
。这表明console最终是
对象{}
对象的一个Decentant,就像您的自定义对象一样。控制台返回给您的不是对象名称,而是您正在创建的对象类型。@Cerburs,我写了另一个问题,因为Zeta建议我在一篇文章中回答了很多问题。我不认为这是-1安全的情况,但不要复制确切的问题,然后再发布一次。把不同的问题分开。不过,我并不是说你应该发布更多关于这个主题的问题。原始问题包含了你需要的所有信息。