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

Number 物件內建的屬性 (Properties)

Number 物件內建的方法 (Methods)