为什么控制台没有't使用输入的对象's的`toString`方法

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

本文关键字:方法 对象 toString 输入 控制台 为什么      更新时间:2023-09-26

如果我打开控制台并输入。。。

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

则返回CCD_ 1。

但如果我进入。。。

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

它提醒"-->5"

这对我来说并不重要,但我更希望第一个代码返回"-->5"。有没有办法做到这一点,或者控制台不使用toString是故意的?

它是用于调试的,所以告诉您关于对象的所有内容可能会很有用。

毕竟,如果你想要调用toString()的结果,你会用i.toString()"" + i来询问,但如果这是默认行为,就没有办法获得更深入的表示。