Baseline Widely available
Die statische Methode Math.hypot()
gibt die Quadratwurzel der Summe der Quadrate ihrer Argumente zurück. Das heiÃt,
console.log(Math.hypot(3, 4));
// Expected output: 5
console.log(Math.hypot(5, 12));
// Expected output: 13
console.log(Math.hypot(3, 4, 5));
// Expected output: 7.0710678118654755
console.log(Math.hypot(-5));
// Expected output: 5
Syntax
Math.hypot()
Math.hypot(value1)
Math.hypot(value1, value2)
Math.hypot(value1, value2, /* â¦, */ valueN)
Parameter Rückgabewert
Die Quadratwurzel der Summe der Quadrate der angegebenen Argumente. Gibt Infinity
zurück, wenn eines der Argumente ±Infinity ist. Andernfalls, wenn mindestens eines der Argumente NaN
ist oder in NaN
umgewandelt wird, gibt es NaN
zurück. Gibt 0
zurück, wenn keine Argumente angegeben sind oder alle Argumente ±0 sind.
Die Berechnung der Hypotenuse eines rechtwinkligen Dreiecks oder die GröÃe einer komplexen Zahl verwendet die Formel Math.sqrt(v1*v1 + v2*v2)
, wobei v1 und v2 die Längen der Dreiecksseiten sind oder die realen und komplexen Komponenten der komplexen Zahl. Die entsprechende Entfernung in 2 oder mehr Dimensionen kann berechnet werden, indem weitere Quadrate unter der Quadratwurzel hinzugefügt werden: Math.sqrt(v1*v1 + v2*v2 + v3*v3 + v4*v4)
.
Diese Funktion macht diese Berechnung einfacher und schneller; Sie rufen Math.hypot(v1, v2)
oder Math.hypot(v1, /* â¦, */, vN)
auf.
Math.hypot
vermeidet auch Probleme mit Ãberläufen/Unterläufen, wenn die GröÃenordnung Ihrer Zahlen sehr groà ist. Die gröÃte Zahl, die Sie in JS darstellen können, ist Number.MAX_VALUE
, die ungefähr 10308 ist. Wenn Ihre Zahlen gröÃer als ungefähr 10154 sind, führt das Quadrieren dieser Zahlen zu Infinity. Zum Beispiel Math.sqrt(1e200*1e200 + 1e200*1e200) = Infinity
. Wenn Sie stattdessen hypot()
verwenden, erhalten Sie eine bessere Antwort: Math.hypot(1e200, 1e200) = 1.4142...e+200
. Dies gilt auch für sehr kleine Zahlen. Math.sqrt(1e-200*1e-200 + 1e-200*1e-200) = 0
, aber Math.hypot(1e-200, 1e-200) = 1.4142...e-200
.
Mit einem Argument ist Math.hypot()
äquivalent zu Math.abs()
. Math.hypot.length
ist 2, was schwach signalisiert, dass es so konzipiert ist, dass es mindestens zwei Parameter verarbeitet.
Da hypot()
eine statische Methode von Math
ist, verwenden Sie es immer als Math.hypot()
, anstatt als Methode eines von Ihnen erstellten Math
-Objekts (Math
ist kein Konstruktor).
Math.hypot(3, 4); // 5
Math.hypot(3, 4, 5); // 7.0710678118654755
Math.hypot(); // 0
Math.hypot(NaN); // NaN
Math.hypot(NaN, Infinity); // Infinity
Math.hypot(3, 4, "foo"); // NaN, since +'foo' => NaN
Math.hypot(3, 4, "5"); // 7.0710678118654755, +'5' => 5
Math.hypot(-3); // 3, the same as Math.abs(-3)
Spezifikationen Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4