gruss Don P, hallo und danke molily,
Für einen estimmten Zweck würde ich gerne mit Number-Objekten
arbeiten, die um spezielle Eigenschaften erweitert sind, aber
leider geht das so nicht : -(.Ja. All diese Operatoren arbeiten mit Primitives und wandeln die
Operanden ggf. um. Operator-Überladung gibt es in JavaScript nicht,
also müsstest du dir einen eigenen Typ »Value« mit eigenen Methoden
wie plus, minus usw. schreiben. Die operieren dann z.B. mit einem
Number-Primitive als private Eigenschaft. valueOf und toString
kannst du überschreiben, sodass sich das Objekt nach außen wie
ein Number-Primitive verhält.
genau, dass koennte dann z.b. so aussehen:
var DonPNumber = (function (num) {
num = Number(num);
this.valueOf = (function () {
return num;
});
this.toString = (function () {
return String(num);
});
this.sum = (function (val) {
num += Number(val);
});
});
var num = new DonPNumber(30);
num.unit = "apples";
num.sum(20);
alert(num); // 50 - true
alert(num.unit); // apples - true
alert(num + 300); // 350 - true
alert(num + "00"); // 5000 - true
so long - peterS. - pseliger@gmx.net
--
»Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford
ie:( fl:) br:> va:( ls:& fo:) rl:) n3;} n4:} ss:} de:µ js:} mo:? zu:]
»Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford
ie:( fl:) br:> va:( ls:& fo:) rl:) n3;} n4:} ss:} de:µ js:} mo:? zu:]