繁体   English   中英

js如何将objectName打印到控制台

[英]js how to print the objectName to console

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

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

以这种方式适用于所有浏览器对象; 但是,如果我使用自己的对象执行此操作,则输出将没有我的objectName(MyObj),只有这样的“ Object”:

> 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]"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM