CSSMathSum: CSSMathSum() Konstruktor
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Der CSSMathSum() Konstruktor erstellt ein neues CSSMathSum Objekt, das die Summe der Argumente repräsentiert, die an ihn übergeben werden.
Numerische Argumente werden in CSSUnitValue Objekte mit der Einheit "number" eingeschlossen.
Alle Argumente werden als separate Elemente in seiner values Eigenschaft gespeichert.
Syntax
new CSSMathSum(arg1)
new CSSMathSum(arg1, arg2)
new CSSMathSum(arg1, arg2, /* …, */ argN)
Parameter
arg1, …,argN-
Ein oder mehrere Zahlen oder
CSSNumericValueObjekte.
Ausnahmen
SyntaxErrorDOMException-
Wird ausgelöst, wenn keine Argumente übergeben werden.
TypeError-
Wird ausgelöst, wenn
arg1, …,argNinkompatible Typen haben.
Beispiele
>Grundlegende Verwendung
Der folgende Code erstellt eine CSSMathSum Instanz aus drei Werten und liest dann deren operator und values Eigenschaften aus.
const sum = new CSSMathSum(CSS.px(10), CSS.em(5), CSS.percent(50));
console.log(sum.constructor.name); // "CSSMathSum"
console.log(sum.operator); // 'sum'
console.log(sum.values); // CSSNumericArray {0: CSSUnitValue, 1: CSSUnitValue, 2: CSSUnitValue, length: 3}
console.log(sum.values[0]); // CSSUnitValue {value: 10, unit: "px"}
Leere Argumente
Der Konstruktor löst einen SyntaxError aus, wenn er ohne Argumente aufgerufen wird.
try {
new CSSMathSum();
} catch (e) {
console.log(e instanceof DOMException); // true
console.log(e.name); // "SyntaxError"
}
Umgang mit inkompatiblen Typen
Der Konstruktor löst einen TypeError aus, wenn die Werte nicht zu einem kompatiblen Typen führen.
Im folgenden Code mischen wir eine Länge mit einer Zeit und protokollieren den Fehler.
try {
// Mixes a length (px) with a time (s): incompatible types
new CSSMathSum(CSS.px(10), CSS.s(2));
} catch (e) {
console.log(e instanceof TypeError); // true
console.log(e.message);
}
Spezifikationen
| Spezifikation |
|---|
| CSS Typed OM Level 1> # dom-cssmathsum-cssmathsum> |