如何在JavaScript中使用指数?
比如,如何计算12的2次方?
如何在JavaScript中使用指数?
比如,如何计算12的2次方?
js> Math.pow(12, 2)
144
ES7规范中有一个指数运算符,它的工作方式应与Python和MATLAB类似:
a**b // will rise a to the power b
现在,在Edge14、Chrome52中已经实现了指数运算符(**),同时也可以使用traceur或babel。
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)
}
}
工作示例:
var a = 10;
var b = 4;
console.log("Using Math.pow():", Math.pow(a,b)); // 10x10x10x10
console.log("Using ** operator:", a**b); // 10x10x10x10
你可以使用 Math.pow()
或者 **
运算符
// Using Math.pow
console.log(Math.pow(12, 2)); // 144
// Using ES7
console.log(12**2); // 144
// Using Recursion
const power =(base, exponent) => {
if (exponent === 0) return 1;
return base * power(base, exponent - 1);
}
console.log(power(12,2)); // 144
如何在JavaScript中执行指数运算
根据MDN
指数运算符返回将第一个操作数提高到第二个操作数的幂的结果。也就是说,在上述语句中,var1 var2,其中var1和var2是变量。指数运算符是右结合的:a ** b ** c等于a ** (b ** c)。
例如:
2**3
// 这里2将乘以2三次,结果为8。
4**4
// 这里4将乘以4四次,结果为256。
Math.pow函数已被弃用
Math.pow(a,b)
所以最好使用指数赋值运算符 **,如下:
a**b
例子:
const postMoneyValuationRevenue = Math.round(
exitValueRevenue / (1 + returnRatePercentage / 100) ** exitYear,
);