gpt4 book ai didi

javascript - 如何覆盖对象的默认输出?

转载 作者:行者123 更新时间:2023-12-04 08:21:08 25 4
gpt4 key购买 nike

在 JavaScript 中,我创建了一个简单的对象:

function MyObj() {
this.prop = "property";
}

现在,如果我创建一个实例并将其输出到控制台,我会看到对象表示:

var obj = new MyObj();
console.log(obj);

我怎样才能使该输出成为一个字符串?:例如,我希望控制台显示 My property value is 'property' 而不是 [object object]。

我试过使用 MyObj.prototype.toString,但它似乎不起作用。

最佳答案

您可以 Hook 浏览器控制台,然后重新定义它:

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);

关于javascript - 如何覆盖对象的默认输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9943257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com