Die Math.hypot()
Funktion gibt die Quadratwurzel von der Summe der quadrierten Argumente zurück. Das bedeutet
Syntax
Math.hypot([value1[, value2[, ...]]])
Parameter
value1, value2, ...
- Zahlen.
Rückgabewert
Die Quadratwurzel der Summe der quadrierten übergebenen Parameter. Wenn ein Parameter nicht in eine Zahl konvertiert werden kann, wird NaN
zurückgegeben.
Beschreibung
Weil hypot()
eine statische Funktion von Math
ist, wird es immer als Math.hypot()
eingesetzt,
jedoch nicht als Methode eines erzeugten Math
Objektes (Math
ist kein Konstruktor).
Wenn kein Argument übergeben wird, ist das Ergebnis +0
.
Wenn einer der übergebenen Parameter nicht zu einer Zahl konvertiert werden kann, ist das Ergebnis NaN
.
Wenn nur ein Argument übergeben wird, so sind die Ergebnisse der Funktionen Math.hypot()
und Math.abs()
gleich.
Beispiele
Einsatz von Math.hypot()
Math.hypot(3, 4); // 5 Math.hypot(3, 4, 5); // 7.0710678118654755 Math.hypot(); // 0 Math.hypot(NaN); // NaN Math.hypot(3, 4, 'foo'); // NaN, +'foo' => NaN Math.hypot(3, 4, '5'); // 7.0710678118654755, +'5' => 5 Math.hypot(-3); // 3, das gleiche wie Math.abs(-3)
Polyfill
Diese Funktion kann folgendermaßen emitiert werden:
Math.hypot = Math.hypot || function() { var y = 0; var length = arguments.length; for (var i = 0; i < length; i++) { if (arguments[i] === Infinity || arguments[i] === -Infinity) { return Infinity; } y += arguments[i] * arguments[i]; } return Math.sqrt(y); };
Spezifikationen
Spezifikation | Status | Kommentar |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) Die Definition von 'Math.hypot' in dieser Spezifikation. |
Standard | Initiale Definition. |
ECMAScript 2017 Draft (ECMA-262) Die Definition von 'Math.hypot' in dieser Spezifikation. |
Entwurf |
Browserkompatibilität
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 38 | 27 (27) | Nicht unterstützt | 25 | 7.1 |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | Nicht unterstützt | Nicht unterstützt | 27.0 (27) | Nicht unterstützt | Nicht unterstützt | 8 |