var x =100;var y =3.14; // 浮點數var z ="100"; // 這是字串 "100",非數值。
要留意的是:數值不需要加雙引號或單引號,如果加上去的話,就會被視為字串。
指數
e = exponential (指數):
var x =123e5;var y =123e-5;console.log(x); // 12300000console.log(y); // 0.00123
數值、字串相加
數值與數值相加,產生結果是數值;
數值與字串相加,會產生字串。
var x = 10;
var y = 20;
var z = "20";
console.log(x + y); // 30
console.log(x + z); // "1020"
隱含轉型:上述的 x + z,其實真的執行的會是先將「數值 x 」轉成「字串 x」,這個過程就是 隱含轉型,是瀏覽器預設會幫我們執行的事。所以最後會變成字串與字串相加,就變成 "1020"。
NaN、Infinity、-Infinity
NaN 是一個特殊的保留字,表示是「Not a Number」。
var x = 100 / "其它";
var y = 2 / 0;
var z = -2 / 0;
console.log(x); // NaN
console.log(y); // Infinity
Console.log(z); // -Infinity
數值常用函式
parseInt()
將字串數字轉成數值。例:
var x = "100";
var y = 200;
console.log(x + y); // 100200
console.log(parseInt(x) + y); // 300
var z = parseInt(x);
console.log(z); // 100
console.log(typeof z); // number
如果是浮點數(小數),就會直接捨去小數部份:
var y = 100.9;
console.log( parseInt(y) ); // 100
parseFloat()
將字串數字轉成浮點數。如:
var x = "100.9";
var y = parseFloat(x);
console.log(y); // 100.9
console.log(typeof y); // number
console.log(x + 10); // 100.910
console.log(y + 10); // 110.9
toString()
將數值轉成字串,例:
var x = 100;
var y = x.toString();
console.log(x); // 100
console.log(typeof x); // number
console.log(y); // "100"
console.log(typeof y); // string
toFixed()
指定四捨五入到小數點的第幾位,然後會回傳字串。例:
var x = 100.526;
var y = x.toFixed(0);
console.log(y); // 101
console.log(typeof y); // string
console.log( x.toFixed(1) ); // 100.5
console.log( x.toFixed(2) ); // 100.53