JavaScript學習筆記-- Number資料型別
阿新 • • 發佈:2019-01-04
1. 整數資料型別
var intNum = 55; //integer
var octalNum1 = 070; //octal for 56
var octalNum2 = 079; //invalid octal - interpreted as 79
var octalNum3 = 08; //invalid octal - interpreted as 8
var hexNum1 = 0xA; //hexadecimal for 10
var hexNum2 = 0x1f; //hexedecimal for 31
2. 浮點數資料型別
var floatNum1 = 1.1; var floatNum2 = 0.1; var floatNum3 = .1; //valid, but not recommended var floatNum1 = 1.; //missing digit after decimal - interpreted as integer1 var floatNum2 = 10.0; //whole number - interpreted as integer 10 var floatNum = 3.125e7; //equal to 31250000
3. NaN -- not a number
1)包含NaN值的任何運算的返回值均是NaN
2)NaN與任何其它數值都不相等,包括其它NaN
alert(NaN == NaN); //false
3)NaN判斷:isNaN(),可對任何資料進行判斷,任何不可被轉換為數字的資料均返回true
alert(isNaN(NaN)); //true alert(isNaN(10)); //false - 10 is a number alert(isNaN(“10”)); //false - can be converted to number 10 alert(isNaN(“blue”)); //true - cannot be converted to a number alert(isNaN(true)); //false - can be converted to number 1
當isNaN()的引數是物件時,先呼叫物件的valueOf()方法進行數字轉換,如果無法轉換為數字則繼續呼叫物件的toString()方法進行數字轉換來判斷。
4. Number Conversions
1)Number()
var num1 = Number(“Hello world!”); //NaN
var num2 = Number(“”); //0
var num3 = Number(“000011”); //11
var num4 = Number(true); //1
2)parseInt()
var num1 = parseInt(“1234blue”); //1234 var num2 = parseInt(“”); //NaN var num3 = parseInt(“0xA”); //10 - hexadecimal var num4 = parseInt(22.5); //22 var num5 = parseInt(“70”); //70 - decimal var num6 = parseInt(“0xf”); //15 - hexadecimal var num = parseInt(“0xAF”, 16); //175 var num1 = parseInt(”AF”, 16); //175 var num2 = parseInt(”AF”); //NaN var num1 = parseInt(“10”, 2); //2 - parsed as binary var num2 = parseInt(“10”, 8); //8 - parsed as octal var num3 = parseInt(“10”, 10); //10 - parsed as decimal var num4 = parseInt(“10”, 16); //16 - parsed as hexadecimal
3)parseFloat()
var num1 = parseFloat(“1234blue”); //1234 - integer
var num2 = parseFloat(“0xA”); //0
var num3 = parseFloat(“22.5”); //22.5
var num4 = parseFloat(“22.34.5”); //22.34
var num5 = parseFloat(“0908.5”); //908.5
var num6 = parseFloat(“3.125e7”); //31250000
參考:JavaScript for Web Developers,Third Edition,Nicholas C. Zakas