在JavaScript中说我创建了一个简单的对象:
function MyObj() {
this.prop = "property";
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我创建一个这样的实例并将其输出到控制台,我会看到对象表示:
var obj = new MyObj();
console.log(obj);
Run Code Online (Sandbox Code Playgroud)
我怎样才能使输出成为字符串?:例如,我希望控制台显示My property value is 'property'而不是[对象对象].
我尝试过使用MyObj.prototype.toString,但它似乎没有用.
您可以挂钩浏览器控制台,然后重新定义它:
var obj = {
name: "Joel",
age: 32,
toString: function() {
return this.name + " is " + this.age + " years old.";
}
};
var browserConsole = console;
console = {
log: function(data) {
if (typeof data === "object") {
browserConsole.log(data.toString());
} else {
browserConsole.log(data);
}
}
}
console.log(obj);
Run Code Online (Sandbox Code Playgroud)