isFinite()
isFinite() 函式用於判斷一個值是否為有限數,如果需要,它會首先將該值轉換為數字。有限數是指不是 NaN 或 ±Infinity 的數。由於 isFinite() 函式內部的型別強制轉換可能令人感到意外,因此您可能更傾向於使用 Number.isFinite()。
試一試
function div(x) {
if (isFinite(1000 / x)) {
return "Number is NOT Infinity.";
}
return "Number is Infinity!";
}
console.log(div(0));
// Expected output: "Number is Infinity!""
console.log(div(1));
// Expected output: "Number is NOT Infinity."
語法
js
isFinite(value)
引數
value-
要測試的值。
返回值
描述
isFinite() 是全域性物件的一個函式屬性。
當 isFinite() 函式的引數不是 Number 型別時,該值會首先被強制轉換為數字,然後將結果值與 NaN 和 ±Infinity 進行比較。這與 isNaN 的行為一樣令人困惑——例如,isFinite("1") 為 true。
Number.isFinite() 是一種更可靠的方式來測試一個值是否為有限數字值,因為它對任何非數字輸入都返回 false。
示例
使用 isFinite()
js
isFinite(Infinity); // false
isFinite(NaN); // false
isFinite(-Infinity); // false
isFinite(0); // true
isFinite(2e64); // true
isFinite(910); // true
// Would've been false with the more robust Number.isFinite():
isFinite(null); // true
isFinite("0"); // true
規範
| 規範 |
|---|
| ECMAScript® 2026 語言規範 # sec-isfinite-number |
瀏覽器相容性
載入中…