JavaScript Number (數值)
Number 物件也就是數值型態的物件,如整數 (integer) 或帶有小數點的浮點數 (floating point) 都是 Number。
JavaScript Number 是 64-bit Floating Point。
數值可以用字面常量 (literal) 的方式來寫:
var x = 180;
var y = 30.25;
也可以用科學記號表示法 (scientific (exponent) notation):
var x = 101e5; // 10100000
var y = 101e-5; // 0.00101
八進位表示法 (Octal)
你可以用 0
開頭來用八進位表示法表示一個數字:
var x = 017;
console.log(x); // 15
十六進位表示法 (Hexadecimal)
你可以用 0x
開頭來用十六進位表示法表示一個數字:
var x = 0xaf;
console.log(x); // 175
Infinity
Infinity
或 -Infinity
是 JavaScript 一個 global 的屬性,表示無限大或無限小。
例如:
// 會輸出 false
console.log(100000000000 > Infinity);
// 會輸出 true
console.log(-99999 > -Infinity);
// x = Infinity
var x = 2 / 0;
// y = -Infinity
var y = -2 / 0;
// 輸出 number
console.log(typeof Infinity);
NaN (Not a Number)
NaN 是 JavaScript 一個 global 的屬性,表示一個值是非數值。
例如:
// x = NaN
var x = 100 - 'string';
// 一個 NaN 做數值運算,返回的結果也是 NaN
// y = NaN
var y = 5 + x;
JavaScript 還有一個 global function isNaN
來讓看可以判段一個值是不是 NaN。例如:
isNaN(NaN); // true
isNaN(undefined); // true
isNaN({}); // true
isNaN(true); // false
isNaN(null); // false
isNaN(20); // false
Number() 函數 - 型別轉換
Number() 可以用來將其他的資料型態轉型 (type conversion) 成數值型態。
字串轉數字
Number('3.14') // 3.14
Number('100') // 100
Number(' ') // 0
Number('') // 0
Number('a123') // NaN
布林值轉數字
Number(false) // 0
Number(true) // 1