js基本數(shù)據(jù)類型有:1、常用的基本數(shù)據(jù)類型包括undefined、null、number、boolean、string;2、引用數(shù)據(jù)類型也就是對(duì)象類型,比如Object、array、function、data等。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版,DELL G3電腦,該方法適用于所有品牌電腦。
JavaScript的數(shù)據(jù)類型分為兩種:原始類型(即基本數(shù)據(jù)類型)和對(duì)象類型(即引用數(shù)據(jù)類型)。
● 常用的基本數(shù)據(jù)類型包括undefined、null、number、boolean、string;
● 引用數(shù)據(jù)類型也就是對(duì)象類型,比如:Object、array、function、data等;
基本數(shù)據(jù)類型詳解:
1、number類型
① number類型包含整數(shù)和浮點(diǎn)數(shù)(浮點(diǎn)數(shù)數(shù)值必須包含一個(gè)小數(shù)點(diǎn),且小數(shù)點(diǎn)后至少有一位數(shù)字)。
浮點(diǎn)數(shù)會(huì)自動(dòng)轉(zhuǎn)換為整數(shù),如下:
let num = 1.00 console.log(num) // 輸出:1,自動(dòng)轉(zhuǎn)換為了整數(shù)
② 浮點(diǎn)數(shù)的最高精度是17位,看下面的例子:
let a = 0.1 let b = 0.2 console.log(a + b) // 輸出:0.30000000000000004
上面的例子,結(jié)果竟然不是0.3,至于其他變成語(yǔ)言,也會(huì)遇到這種情況(關(guān)于浮點(diǎn)數(shù)計(jì)算會(huì)產(chǎn)生誤差問(wèn)題,其他有些變成語(yǔ)言也會(huì)出現(xiàn)類似情況。)
③ NaN:非數(shù)字類型,特點(diǎn):涉及到任何關(guān)于NaN的操作,都會(huì)返回NaN,而且NaN不等于自身。如下:
let name = 'lisi' console.log(name / 10) // 輸出:NaN console.log(NaN === NaN) // 輸出:false
④ isNaN()函數(shù)用于判斷是否是一個(gè)非數(shù)字類型,如果傳入的參數(shù)是一個(gè)非數(shù)字類型,那么返回true,否則返回false;
⑤ isNaN()函數(shù)傳入一個(gè)參數(shù),函數(shù)會(huì)先將參數(shù)轉(zhuǎn)換為數(shù)值,如果參數(shù)類型為對(duì)象類型,會(huì)先調(diào)用對(duì)象的valueOf()方法,再確定該方法返回的值是否可以轉(zhuǎn)換為數(shù)值類型,如果不能,再調(diào)用對(duì)象的toString()方法,再確定返回值;
6、 數(shù)值轉(zhuǎn)化:
Number(),轉(zhuǎn)型函數(shù),可以用于任何數(shù)據(jù)類型
parseInt(),將值轉(zhuǎn)換為整型,用的較多
parseFloat(),將值轉(zhuǎn)換為浮點(diǎn)型
2、string類型
① 字符串類型中的單雙引號(hào)作用一樣;
② 字符串有l(wèi)ength屬性,可以取得字符串的長(zhǎng)度:
let str = 'Hello world' console.log(str.length) // 輸出:11
③ 字符串的值是不可變的,要改變一個(gè)字符串的值,首先要銷毀原來(lái)的字符串,再用另一個(gè)包含新值得字符串區(qū)填充該字符串;
④ 字符串轉(zhuǎn)換:
String(),轉(zhuǎn)型函數(shù),適用于任何數(shù)據(jù)類型(null,undefined轉(zhuǎn)換后為null和undefined)
toString()
方法可以把一個(gè)邏輯值轉(zhuǎn)換為字符串,并返回結(jié)果(null、undefined沒(méi)有toString()方法)
let ab = 'zhangsan' let bc = null let cd = undefined console.log(ab.toString()) // 輸出:zhangsan // console.log(bc.toString()) // error 報(bào)錯(cuò) // console.log(cd.toString()) // error 報(bào)錯(cuò) console.log(String(ab)) // 輸出:zhangsan console.log(String(bc)) // 輸出:null console.log(String(cd)) // 輸出:undefined
3、boolean類型
① 這個(gè)類型只有兩個(gè)值,true和false;
② Boolean(),轉(zhuǎn)型函數(shù),將某個(gè)值轉(zhuǎn)換為Boolean類型
4、null類型
① null類型被看做空對(duì)象指針,只有一個(gè)值,即null值,所以在用typeof操作符去檢測(cè)null類型的值得時(shí)候,結(jié)果是object類型;
② 如果你定義了一個(gè)變量,但是想在以后把這個(gè)對(duì)象當(dāng)做一個(gè)對(duì)象來(lái)使用,最好將該對(duì)象初始化為null值
5、undefined類型
① 只有一個(gè)值,即undefined,如果聲明了一個(gè)變量,但是未給變量初始化值,那么這個(gè)變量的值就是undefined:
let name = 'zhangsan' let age console.log(name) // 輸出:zhangsan console.log(age) // undefined,因?yàn)槁暶髁薬ge,但是沒(méi)有給初始化值
② 調(diào)用函數(shù)時(shí),應(yīng)該提供的參數(shù)沒(méi)有提供,該參數(shù)等于undefined;
③ 對(duì)象沒(méi)有賦值的屬性,該屬性的值為undefined;
④ 函數(shù)沒(méi)有返回值,默認(rèn)返回undefined。
相關(guān)免費(fèi)學(xué)習(xí)推薦:javascript(視頻)