为什么控制台不使用输入对象的`toString`方法?

时间:2012-09-03 21:10:35

标签: javascript console

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

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

1 个答案:

答案 0 :(得分:4)

它用于调试用途,所以告诉你所有关于对象的说法都可能有用。

毕竟,如果您想要调用toString()的结果,那么您会使用i.toString()"" + i来询问它,但如果这是默认行为,则不会是一种获得更深层次表达的方式。