当创建一个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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)