簡體   English   中英

為什么控制台不使用輸入對象的`toString`方法?

[英]Why the console doesn't use entered object's `toString` method?

如果我打開控制台並輸入...

var f=function(a){
    this.toString=function(){
        return "-->"+a;
    }
},i=new f(5);
i;

...它返回({toString:(function () {return "-->" + a;})})

但如果我進入......

var f=function(a){
    this.toString=function(){
        return "-->"+a;
    }
},i=new f(5);
alert(i);

...它警告"-->5"

我並不重要,但我更喜歡第一個代碼返回"-->5" 有沒有辦法做到這一點,還是有意的是控制台不使用toString

它用於調試使用,因此告訴你所有關於對象的說法都可能有用。

畢竟,如果你想要調用toString()的結果,你會用i.toString()"" + i詢問它,但如果這是默認行為,那么就沒有辦法獲得你得到更深層次的代表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM