Math.hypot()

Die Math.hypot() Funktion gibt die Quadratwurzel von der Summe der quadrierten Argumente zurück. Das bedeutetMath.hypot(v1,v2,,vn)=i=1nvi2=v12+v22++vn2\mathtt{\operatorname{Math.hypot}(v_1, v_2, \dots, v_n)} = \sqrt{\sum_{i=1}^n v_i^2} = \sqrt{v_1^2 + v_2^2 + \dots + v_n^2}

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

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
 Mitwirkende an dieser Seite: schlagi123
 Zuletzt aktualisiert von: schlagi123,