6

コンソールを開いて入力すると...

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か?

4

1 に答える 1

4

これはデバッグでの使用を目的としているため、オブジェクトについて言うべきことをすべて伝えることが役立つ可能性があります。

結局のところ、呼び出しの結果が必要な場合は、またはでtoString()尋ねたはずですが、それがデフォルトの動作である場合、得られるより深い表現を取得する方法はありません。i.toString()"" + i

于 2012-09-03T21:16:07.223 に答える