07-14
-
數(shù)據(jù)類型指字面量的類型
基本數(shù)據(jù)類型
- String
字符串需要使用引號引起來(雙引號或單引號都可以)
var str = "hello";
引號不能嵌套拄查,\可以作為轉(zhuǎn)義字符
str = "我說:\"你怎么了\"";
- Number
JS中的所有數(shù)值都是Number類型吁津,不特別區(qū)分整數(shù)和浮點數(shù)
var num = 123 num = 98.0 console.log(num) //輸出結(jié)果為98.0,不需要為98.0重新聲明Number變量
typeof運算符可以檢測變量類型
var a = 123; var b = "123"; console.log(typeof a); console.log(typeof b); /*輸出結(jié)果為 number string **/
JS中可以表示的數(shù)字的最大值
console.log(Number.MAX_VALUE); //輸出為1.7976931348623157e+308
如果數(shù)據(jù)超過了Number的最大值會返回無窮
var max = Number.MAX_VALUE * Number.MAX_VALUE; console.log(max) //輸出結(jié)果為Infinity
NaN(Not a Number)表示非數(shù)字,但是其數(shù)據(jù)類型為Number
JS中整數(shù)運算基本可以保證精確堕扶,浮點數(shù)運算可能會有誤差
var num1 = 123 + 123; var num2 = 0.1 + 0.2; console.log(num1); console.log(num2); //輸出結(jié)果為 246 0.30000000000000004
- Boolean
Boolean的值只有true和false用于進行邏輯判斷
- Null
Null的是數(shù)值只有null碍脏,用來表示一個空的對象
使用typeof檢查Null變量時,返回object
var a = null; console.log(typeof a); //返回結(jié)果為object
- Undefined
聲明變量不進行賦值稍算,該變量類型為Undefined
var b; console.log(b); console.log(typeof b); //返回結(jié)果為undefined undefined
引用數(shù)據(jù)類型
- Object
-
強制類型轉(zhuǎn)換
主要指將其他類型轉(zhuǎn)換為String Number Boolean
將其他數(shù)據(jù)類型轉(zhuǎn)換為String
方法一:調(diào)用被轉(zhuǎn)換類型的toString()方法典尾,但是此方法并不影響到原變量
var a = 123; console.log(a); console.log(typeof a); var b = a.toString(); console.log(b) console.log(typeof b); //null和undefined沒有toString方法
方法二:調(diào)用String()函數(shù)
var c = 123; c = String(c); c = null; c = String(c); c = undefined; c = String(c); //使用String()函數(shù)進行數(shù)據(jù)類型轉(zhuǎn)換時,對于Number和Boolean實際上就是家用了toString()方法 //對于null和undefined不用調(diào)用toString()方法糊探,而是直接轉(zhuǎn)換為字符串
將其他類型數(shù)據(jù)轉(zhuǎn)換為Number
方法一:使用Number()函數(shù)
var a = "123"; a = Number(a); //String-->Number //1.如果是純數(shù)字的字符串钾埂,直接轉(zhuǎn)換為數(shù)字 //2.如果字符串中有非數(shù)字內(nèi)容,則轉(zhuǎn)換成NaN //3.如果字符串為空或者為空白串科平,轉(zhuǎn)換為0 //Boolean-->Number //false-->0 true-->1 //Null-->Number == 0 //Undefined-->Number == NaN
方法二:適用于字符串
parseInt()和parseFloat()將一個字符串轉(zhuǎn)換為整數(shù)或浮點數(shù)
var a = "123px"; var result; result = Number(a); console.log(result); result = parseInt(a); console.log(result); //輸出結(jié)果為NaN 123
如果對非String使用方法二會將變量先轉(zhuǎn)換成String褥紫,再進行轉(zhuǎn)換
var c = true; result = Number(c); console.log(result); //輸出結(jié)果為1 result = parseInt(c); console.log(result); //輸出結(jié)果為NaN
轉(zhuǎn)換為Boolean
使用Boolean()函數(shù)
var a = 123; //true a = -123; //true a = Infinity; //true a = NaN; //false //數(shù)字-->Boolean //除了0和NaN,都是true //字符串-->Boolean //除了空串瞪慧,其他都是true //null和undefined --> false //對象也會轉(zhuǎn)換為true