我正在阅读Kyle Simpson的“ You-Dont-Know-JS”系列,遇到了以下代码块:
function NothingSpecial() {
console.log( "Don't mind me!" );
}
var a = new NothingSpecial();
// "Don't mind me!"
a; // {}
据此,最后一行
a;
应该返回一个空对象{}
。但正如我所见,它返回一个名称为NothingSpecial(NothingSpecial {}
)的对象。这种行为使我有些困惑。据我所知,new NothingSpecial()
创建的对象是a
,应将其命名为a
而不是NothingSpecial
。另外,名称NothingSpecial
与函数名称冲突。有人可以解释吗? 最佳答案
它确实返回一个空对象。该对象恰好是NothingSpecial的一个实例,并且您用来检查它的工具向您显示了该信息(并不是说该对象存储在具有该名称的变量中,因此没有冲突)。