Math.hypot()
Сводка
Метод Math.hypot()
возвращает квадратный корень суммы квадратов своих аргументов, то есть
Синтаксис
Math.hypot([value1[, value2[, ...]]])
Параметры
value1, value2, ...
- Числа.
Описание
Поскольку метод hypot()
является статическим методом объекта Math
, вы всегда должны использовать его как Math.hypot()
, а не пытаться вызывать метод на созданном экземпляре объекта Math
(поскольку объект Math
не является конструктором).
При вызове без аргументов результатом вызова будет значение +0.
Если хотя бы один из аргументов не может быть преобразован в число, результатом будет NaN
.
При вызове с одним аргументом, метод Math.hypot()
то же самое значение, что и метод Math.abs()
.
Примеры
Пример: использование метода 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, то же самое, что и Math.abs(-3)
Полифил
Этот метод может эмулироваться следующим образом:
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);
};
Спецификации
Спецификация | Статус | Комментарии |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) Определение 'Math.hypot' в этой спецификации. |
Стандарт | Изначальное определение. |
Совместимость с браузерами
We're converting our compatibility data into a machine-readable JSON format.
This compatibility table still uses the old format,
because we haven't yet converted the data it contains.
Find out how you can help! (en-US)
Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Базовая поддержка | 38 | 27 (27) | Нет | 25 | 7.1 |
Возможность | Android | Chrome для Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Базовая поддержка | Нет | Нет | 27.0 (27) | Нет | Нет | iOS 8 |