Как вы делаете экспоненты в JavaScript?
Как бы вы сделали 12 ^ 2?
Ответы:
Есть оператор возведения в степень , который является частью окончательной спецификации ES7. Аналогичным образом предполагается, что он работает с python и matlab:
a**b // will rise a to the power b
Сейчас он уже реализован в Edge14, Chrome52 , а также доступен с traceur или babel.
js> Math.pow(12, 2)
144
Math
методы, я видел exp
, и когда это не сработало, я просто сдался. xD Надо было пойти немного дальше. Ну что ж. Спасибо.
Math.pow(x, y)
отлично работает для x ^ y и даже оценивает выражение, когда y не является целым числом. Фрагмент кода, на который не полагается, Math.pow
но который может оценивать только целочисленные показатели:
function exp(base, exponent) {
exponent = Math.round(exponent);
if (exponent == 0) {
return 1;
}
if (exponent < 0) {
return 1 / exp(base, -exponent);
}
if (exponent > 0) {
return base * exp(base, exponent - 1)
}
}
Как мы выполняем экспоненты в JavaScript в
соответствии с MDN
Оператор возведения в степень возвращает результат возведения первого операнда в степень второго операнда. То есть var1 var2 в предыдущем операторе, где var1 и var2 - переменные. Оператор возведения в степень является правоассоциативным: a ** b ** c равно a ** (b ** c).
Например:
2**3
// здесь 2 умножится 3 раза на 2, и результат будет 8.
4**4
// здесь 4 умножится 4 раза на 4, и результат будет 256.