Ist es möglich, ein Objekt so zu erstellen, dass eine für Menschen lesbare Zeichenfolge zurückgegeben wird?js: Objekt, das eine vom Menschen lesbare Zeichenfolge zurückgibt
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);
Ich weiß, dass ich __str__
-toString
und badass.toString()
nur stattdessen ändern könnte, aber ich möchte wissen, ob diese Methode möglich ist. Es wäre ein wenig wie die __str__
Methode in Python.
EDIT
Gerade jetzt, wenn ich badass
aufrufen, gibt es hsl_obj {h: 76, s: 64, l: 59}
.
Vielleicht 'JSON.stringify (obj);'? – mrlew
War im Begriff, dasselbe zu sagen, da Frage etwas merkwürdig ist :) – Janne
Wann sollte Zeichenkette zurückgegeben werden? – guest271314