js 如何将对象名称打印到控制台

js how to print the objectName to console

本文关键字:打印 控制台 对象 js      更新时间:2023-09-26

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

> console
Console {  }
> console+""
"[object Console]"
> console.log(console)
undefined
> Console {  }

以这种方式适用于所有浏览器对象;但是如果我用我自己的对象来做,输出没有我的对象名称(MyObj),只有这样的"对象":

> var MyObj=function(){}
undefined
> var instance = new MyObj();
undefined
> instance
Object {  }
> instance+""
"[object Object]"
> console.log(instance);
undefined
Object {  }

有没有办法让我的对象输出行为与浏览器对象相同?而且,谁能解释我为什么?

您可以在 MyObj.prototype 中覆盖 toString() 方法:

MyObj.prototype.toString = function(){ return "[object MyObj]";}

var MyObj = function(){};    
MyObj.prototype.toString = function(){ return "[object MyObj]"; };
var instance = new MyObj();
console.log(instance + "");
// "[object MyObj]"