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); // 30console.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); // NaNconsole.log(y); // InfinityConsole.log(z); // -Infinity
數值常用函式
parseInt()
將字串數字轉成數值。例:
var x ="100";var y =200;console.log(x + y); // 100200console.log(parseInt(x) + y); // 300var z =parseInt(x);console.log(z); // 100console.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.9console.log(typeof y); // numberconsole.log(x +10); // 100.910console.log(y +10); // 110.9
toString()
將數值轉成字串,例:
var x =100;var y =x.toString();console.log(x); // 100console.log(typeof x); // numberconsole.log(y); // "100"console.log(typeof y); // string
toFixed()
指定四捨五入到小數點的第幾位,然後會回傳字串。例:
var x =100.526;var y =x.toFixed(0);console.log(y); // 101console.log(typeof y); // stringconsole.log( x.toFixed(1) ); // 100.5console.log( x.toFixed(2) ); // 100.53