一尘不染

是否可以覆盖JavaScript的toString()函数以提供有意义的调试输出?

javascript

当我console.log()在JavaScript程序中找到一个对象时,我只会看到输出[object Object],这对于弄清楚它是什么对象(甚至是什么类型的对象)不是很有帮助。

在C#中,我习惯于重写ToString()以能够自定义对象的调试器表示形式。我可以用JavaScript做类似的事情吗?


阅读 360

收藏
2020-05-01

共1个答案

一尘不染

您也可以toString在Javascript中覆盖。参见示例:

function Foo() 
{
}

// toString override added to prototype of Foo class
Foo.prototype.toString = function()
{
    return "[object Foo]";
}

var f = new Foo();
alert(f);  // popup displays [object Foo]

对如何在JavaScript中确定对象类型名称的讨论。

2020-05-01