【发布时间】:2017-07-07 18:38:00
【问题描述】:
是否可以创建一个对象以返回人类可读的字符串?
function hsl_obj(h, s, l) {
this.h = h;
this.s = s;
this.l = l;
this.__str__ = function() {
return "hsl(" + this.h + ", " + this.s + "%, " + this.l + ")";
}
}
var badass = new hsl_obj(76, 64, 59); // #BADA55
console.log(badass); // --> hsl(76, 64%, 59%)
console.log(badass.h); // --> 76
console.log(badass.s); // --> 64
console.log(badass.l); // --> 59
$("p").css("background-color", badass);
$("#ph").html(badass.h);
$("#ps").html(badass.d);
$("#pl").html(badass.l);
我知道我可以将__str__ 更改为toString 并改用badass.toString(),但我想知道这种方法是否可行。这有点像python中的__str__方法。
编辑
现在当我调用badass 时,它返回hsl_obj {h: 76, s: 64, l: 59}。
【问题讨论】:
-
也许
JSON.stringify(obj);? -
正要说同样的话,因为问题有点奇怪:)
-
什么时候应该返回字符串?
-
同意 mrlew.. 使用 JSON.stringify(obj) 这将为您提供对象的 json 字符串
标签: javascript function tostring