簡體   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