如你所知,当我们新建一个Date对象时,它会返回一个字符串,
表示执行此代码时
console.log(new Date());
它返回一个这样的字符串:Sun Jan 17 2016 16:26:55 GMT+0330 (Iran Standard Time)
我想完全做同样的事情并在有人新我的对象时返回一个字符串...
有可能吗?
答案 0 :(得分:2)
有可能。您可以使用Object.prototype.toString
(this link中的参考):
function MyObject () {
this.numProperty = 1;
this.strProperty = "some string";
}
MyObject.prototype.toString = function (){
return this.strProperty;
}
// example usage:
var obj = new MyObject();
document.getElementById("x").innerHTML = obj;
编辑:
对于console.log
行为,您可以使用
console.log(obj.toString());
或
Console.prototype.logO = function (obj) {
this.log(obj.toString());
}
// and then
console.logO(obj);
最后一行是你想要的第一行,但我会选择第一个选项,因为它不那么罗嗦。
这是JSFiddle。