Math.pow()
Math.pow() 靜態方法返回一個底數(base)的指定次冪(exponent)的值。即
試一試
console.log(Math.pow(7, 3));
// Expected output: 343
console.log(Math.pow(4, 0.5));
// Expected output: 2
console.log(Math.pow(7, -2));
// Expected output: 0.02040816326530612
// (1/49)
console.log(Math.pow(-7, 0.5));
// Expected output: NaN
語法
js
Math.pow(base, exponent)
引數
返回值
一個數字,表示 base 的 exponent 次冪。在以下任一情況下返回 NaN:
exponent為NaN。base為NaN且exponent不為0。base為 ±1 且exponent為 ±Infinity。base < 0且exponent不是整數。
描述
Math.pow() 等同於 ** 運算子,區別在於 Math.pow() 只接受數字。
Math.pow(NaN, 0)(以及等效的 NaN ** 0)是唯一一個 NaN 不會透過數學運算傳播的情況——它返回 1,儘管運算元為 NaN。此外,當 base 為 1 且 exponent 為非有限數(±Infinity 或 NaN)時的行為與 IEEE 754 不同,IEEE 754 規定結果應為 1,而 JavaScript 返回 NaN 以保持與原始行為的向後相容性。
由於 pow() 是 Math 的靜態方法,請使用 Math.pow() 的方式呼叫,而不是作為您建立的 Math 物件的某個方法(Math 不是建構函式)。
示例
使用 Math.pow()
js
// Basic cases
Math.pow(7, 2); // 49
Math.pow(7, 3); // 343
Math.pow(2, 10); // 1024
// Fractional exponents
Math.pow(4, 0.5); // 2 (square root of 4)
Math.pow(8, 1 / 3); // 2 (cube root of 8)
Math.pow(2, 0.5); // 1.4142135623730951 (square root of 2)
Math.pow(2, 1 / 3); // 1.2599210498948732 (cube root of 2)
// Signed exponents
Math.pow(7, -2); // 0.02040816326530612 (1/49)
Math.pow(8, -1 / 3); // 0.5
// Signed bases
Math.pow(-7, 2); // 49 (squares are positive)
Math.pow(-7, 3); // -343 (cubes can be negative)
Math.pow(-7, 0.5); // NaN (negative numbers don't have a real square root)
// Due to "even" and "odd" roots laying close to each other,
// and limits in the floating number precision,
// negative bases with fractional exponents always return NaN,
// even when the mathematical result is real
Math.pow(-7, 1 / 3); // NaN
// Zero and infinity
Math.pow(0, 0); // 1 (anything ** ±0 is 1)
Math.pow(Infinity, 0.1); // Infinity (positive exponent)
Math.pow(Infinity, -1); // 0 (negative exponent)
Math.pow(-Infinity, 1); // -Infinity (positive odd integer exponent)
Math.pow(-Infinity, 1.5); // Infinity (positive exponent)
Math.pow(-Infinity, -1); // -0 (negative odd integer exponent)
Math.pow(-Infinity, -1.5); // 0 (negative exponent)
Math.pow(0, 1); // 0 (positive exponent)
Math.pow(0, -1); // Infinity (negative exponent)
Math.pow(-0, 1); // -0 (positive odd integer exponent)
Math.pow(-0, 1.5); // 0 (positive exponent)
Math.pow(-0, -1); // -Infinity (negative odd integer exponent)
Math.pow(-0, -1.5); // Infinity (negative exponent)
Math.pow(0.9, Infinity); // 0
Math.pow(1, Infinity); // NaN
Math.pow(1.1, Infinity); // Infinity
Math.pow(0.9, -Infinity); // Infinity
Math.pow(1, -Infinity); // NaN
Math.pow(1.1, -Infinity); // 0
// NaN: only Math.pow(NaN, 0) does not result in NaN
Math.pow(NaN, 0); // 1
Math.pow(NaN, 1); // NaN
Math.pow(1, NaN); // NaN
規範
| 規範 |
|---|
| ECMAScript® 2026 語言規範 # sec-math.pow |
瀏覽器相容性
載入中…