如何从javascript中的构造函数返回字符串?

时间:2016-01-17 13:00:20

标签: javascript string return-value

如你所知,当我们新建一个Date对象时,它会返回一个字符串,

表示执行此代码时

console.log(new Date());

它返回一个这样的字符串:Sun Jan 17 2016 16:26:55 GMT+0330 (Iran Standard Time)

我想完全做同样的事情并在有人新我的对象时返回一个字符串...

有可能吗?

1 个答案:

答案 0 :(得分:2)

有可能。您可以使用Object.prototype.toStringthis 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