Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

CSSNumericValue: Methode equals()

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.

Die Methode equals() der Schnittstelle CSSNumericValue gibt true zurück, wenn jeder übergebene Wert mit dem CSSNumericValue identisch ist, andernfalls false.

Syntax

js
equals()
equals(number1)
equals(number1, number2)
equals(number1, number2, /* …, */ numberN)

Parameter

number1, …, numberN Optional

Entweder eine Zahl oder ein CSSNumericValue. Eine Zahl wird in einen CSSUnitValue mit der Einheit "number" umgewandelt. Daher wird 2 wie CSS.number(2) behandelt.

Rückgabewert

true, wenn jeder übergebene Wert mit dem CSSNumericValue identisch ist, andernfalls false. Wenn keine Werte übergeben werden, gibt die Methode true zurück. Die Beschreibung erläutert, wie dieser Vergleich bei Einzelwerten wie einem CSSUnitValue und bei Berechnungen wie einer CSSMathSum funktioniert.

Ausnahmen

Keine.

Description

Die Methode vergleicht, wie die Werte geschrieben sind, nicht ihre berechneten Ergebnisse.

Einzelwerte, etwa solche, die durch CSSUnitValue dargestellt werden, sind identisch, wenn sie denselben value und dieselbe unit haben. Einheiten werden nicht umgerechnet. Deshalb ist CSS.in(1) nicht mit CSS.cm(2.54) identisch, obwohl beide eine Länge von einem Zoll darstellen. Der Vergleich von Werten unterschiedlichen Typs, etwa einer Länge und einer Zeit, gibt immer false zurück.

Berechnungen, etwa durch CSSMathSum dargestellte Summen, sind identisch, wenn sie dieselbe Art von Berechnung sind und dieselben Werte in derselben Reihenfolge enthalten. Eine Summe aus 1px und 2px ist daher weder mit einer Summe aus 2px und 1px noch mit 3px identisch.

Dieser strenge Vergleich ist beabsichtigt, da sich schnell prüfen lässt, ob zwei Werte auf dieselbe Weise geschrieben sind.

Beispiele

Einzelwerte und Summen vergleichen

Werte mit demselben Wert und derselben Einheit sind identisch. Das gilt auch für Summen aus denselben Werten in derselben Reihenfolge:

js
console.log(CSS.px(10).equals(CSS.px(10))); // true

const sum = new CSSMathSum(CSS.px(1), CSS.px(2));
console.log(sum.equals(new CSSMathSum(CSS.px(1), CSS.px(2)))); // true

Die Methode gibt false zurück, wenn die Werte einer Summe in einer anderen Reihenfolge stehen, wenn eine Summe mit dem Einzelwert verglichen wird, den sie ergibt, wenn dieselbe Länge in einer anderen Einheit geschrieben ist oder wenn die Werte unterschiedliche Typen haben:

js
console.log(sum.equals(new CSSMathSum(CSS.px(2), CSS.px(1)))); // false
console.log(sum.equals(CSS.px(3))); // false
console.log(CSS.in(1).equals(CSS.cm(2.54))); // false
console.log(CSS.px(1).equals(CSS.s(1))); // false

Mehrere Werte vergleichen

Wenn mehrere Werte übergeben werden, gibt die Methode nur dann true zurück, wenn jeder davon mit dem CSSNumericValue identisch ist. Beim ersten Vergleich unten wird die Zahl 5 in CSS.number(5) umgewandelt. Daher sind beide Werte mit dem CSSNumericValue identisch:

js
console.log(CSS.number(5).equals(5, CSS.number(5))); // true
console.log(CSS.px(10).equals(CSS.px(10), CSS.px(11))); // false

Spezifikationen

Spezifikation
CSS Typed OM Level 1
# dom-cssnumericvalue-equals

Browser-Kompatibilität

Siehe auch