当创建一个 x = new Date()
对象时,如果将它放入 console.log(x)
中,将输出一个字符串。
有没有办法制作一个自定义对象,该对象将返回一个不是对象本身的不同值
最佳答案
有一个函数,toString ,但是如果你只是做 console.log(new Test)
它仍然会输出对象。但是,如果你强制它打印一个字符串,它将起作用:console.log('%s', new Test)
:
function Test() {
}
Test.prototype.toString =
function () {
return "Something else";
}
console.log("%s", new Test);
> Something else
或者,如果您将它与另一个字符串连接起来:
var a = new Test;
console.log('Result: ' + a);
> Result: Something else
我在我的代码中经常使用它来显示带有数据的对象的内容摘要。
还有valueOf :
Test.prototype.valueOf =
function () {
return 42;
}
console.log("%d", new Test);
> 3
关于javascript - 如何让对象返回一个不是对象本身的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41748793/