JavaScript 指数

IT技术 javascript math
2021-02-06 09:37:28

你如何在 JavaScript 中计算指数?

比如你会怎么做 12^2?

6个回答

Math.pow()

js> Math.pow(12, 2)
144
有人知道“pow”这个名字的由来吗?
2021-03-15 09:37:28
@tylermwashburn:exp(x) 是 e 的 x 次幂,即 e^x。e = 2.71828182846...
2021-03-25 09:37:28
@steebchen:如果你问这个名字的由来,它是“power”的缩写,如“二的三的幂”。如果您问是哪种语言将其作为函数引入,它可能是现有的前几个语言之一。
2021-03-28 09:37:28
在查看Math方法时,我看到了exp,当那不起作用时,我就放弃了。xD 应该更进一步。那好吧。谢谢。
2021-03-29 09:37:28

有一个求幂运算符,它是 ES7 最终规范的一部分。它应该与 python 和 matlab 以类似的方式工作:

a**b // will rise a to the power b

现在它已经在 Edge14、Chrome52 中实现,并且它也可以与 traceur 或 babel 一起使用。

Math.pow(base, exponent), 对于初学者。

例子:

Math.pow(12, 2)

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()**运算符