Відповіді:
Існує оператор експоненції , який є частиною остаточної специфікації 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 дорівнює ** (b ** c).
Наприклад:
2**3
// тут 2 помножать 3 рази на 2, а результат буде 8.
4**4
// тут 4 помножать 4 рази на 4 і результат буде 256.