javascript基礎(chǔ)之?dāng)?shù)據(jù)類型詳解
1.數(shù)據(jù)類型
1.1 為什么需要數(shù)據(jù)類型
在計(jì)算機(jī),不同的數(shù)據(jù)所占的存儲(chǔ)空間是不同的,為了便于把數(shù)據(jù)分成所需內(nèi)存大小不同的數(shù)據(jù),充分利用存儲(chǔ)空間,于是定義了不同的數(shù)據(jù)類型。
1.2 變量的數(shù)據(jù)類型
JavaScript是一種弱類型或者說(shuō)動(dòng)態(tài)語(yǔ)言,這意味著不用提前聲明變量的數(shù)據(jù)類型,在程序運(yùn)行的過(guò)程中,類型會(huì)被自動(dòng)確定。(js的變量類型是只有在程序在運(yùn)行過(guò)程中,根據(jù)等號(hào)右邊的值的數(shù)據(jù)類型來(lái)確定的)
var age = 10; //這是一個(gè)數(shù)字型 var myName = 'lili'; //這是一個(gè)字符串類型數(shù)據(jù)
1.3 數(shù)據(jù)類型分類
JS把數(shù)據(jù)類型分為兩類:
簡(jiǎn)單數(shù)據(jù)類型(Number,String,Boolean,Undefined,Null)復(fù)雜數(shù)據(jù)類型(object)
2. 簡(jiǎn)單數(shù)據(jù)類型(基本數(shù)據(jù)類型)
JavaScript中的簡(jiǎn)單數(shù)據(jù)類型及其說(shuō)明如下:
簡(jiǎn)單數(shù)據(jù)類型 | 說(shuō)明 | 默認(rèn)值 |
---|---|---|
Number | 數(shù)字型,包含數(shù)值型和浮點(diǎn)型,如 20, 0.12 | 0 |
Boolean | 布爾型,如true、false等價(jià)于1和0 | false |
String | 字符串類型,字符串帶引號(hào) | " " |
Undefined | var a;聲明了變量a但是沒(méi)有給值,此時(shí)a=undefined | undefined |
Null | var a = null;聲明了變量為空值 | null |
2.1 數(shù)字型Number
1. 數(shù)字型進(jìn)制
常見(jiàn)進(jìn)制二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制
八進(jìn)制數(shù)字序列范圍:0~7 以0開(kāi)頭
十六進(jìn)制數(shù)字序列范圍:0~9及A~F 以0x開(kāi)頭
2.數(shù)字型范圍
JavaScript中數(shù)值的最大和最小值
alert(Number.MAX_VALUE); //1.7976931348623157e+308 alert(Number.MIN_VALUE); //5e-324
- infinity,代表無(wú)窮大,大于任何數(shù)據(jù)
- -infinity,代表無(wú)窮小,小于任何數(shù)據(jù)
- NaN,Not a number,代表一個(gè)非數(shù)值
isNaN()
這個(gè)方法用來(lái)判斷非數(shù)字,并且返回一個(gè)值,如果是數(shù)字,則返回是false,如果不是數(shù)字,則返回true。
2.2 字符串型 String
1.字符串轉(zhuǎn)義符
轉(zhuǎn)義符都是以 \ 開(kāi)頭的,常用的轉(zhuǎn)義符及其說(shuō)明如下:
轉(zhuǎn)義符解釋說(shuō)明\n
換行符 newline的意思
轉(zhuǎn)義符 | 解釋說(shuō)明 |
\n |
換行符 newline的意思 |
\\ | 斜杠\ |
\' | ' 單引號(hào) |
\" | " 雙引號(hào) |
\t | tab 縮進(jìn) |
\b | 空格,b是blank |
2.字符串長(zhǎng)度
通過(guò)字符串的 length 屬性可以獲取整個(gè)字符串的長(zhǎng)度
var myname = 'my name is andy'; console.log(myname.length);
2.3 布爾型 Boolean
布爾值有兩個(gè)值:true和false,其中true表示真,而false表示假
布爾值和數(shù)字型相加時(shí),true的值為1,false的值為0.
console.log(true + 1); //2 console.log(false + 1); //1
3.數(shù)據(jù)類型轉(zhuǎn)換
3.1轉(zhuǎn)換為字符串
方式 | 說(shuō)明 | 案例 |
---|---|---|
toString() | 轉(zhuǎn)成字符串 |
var num = 1; alert(num.toString()); |
String()強(qiáng)制轉(zhuǎn)換 | 轉(zhuǎn)成字符串 |
var num = 1; alert(String(num)); |
加號(hào)拼接字符串 | 和字符串拼接的結(jié)果都是字符串 |
var num = 1; alert(num+"我是字符串"); |
3.2 轉(zhuǎn)換為數(shù)字型
方式 | 說(shuō)明 | 案例 |
---|---|---|
parseInt(string)函數(shù) | 將string類型轉(zhuǎn)換為整數(shù)數(shù)值型 | parseInt('18') |
parseFloat(string)函數(shù) | 將string類型轉(zhuǎn)換為浮點(diǎn)數(shù)數(shù)值型 | parseFloat('18.88') |
Number()強(qiáng)制轉(zhuǎn)換函數(shù) | 將string類型轉(zhuǎn)換為數(shù)值型 | Number('18') |
js隱式轉(zhuǎn)換(- * /) | 利用算數(shù)隱式轉(zhuǎn)換為數(shù)值型 | '14'-0 |
number() // 轉(zhuǎn)換為數(shù)字型 number(‘10') // 10 number(‘a(chǎn)bc') // NaN number(true) // 1 number(false) // 0 number(null) // 0 number(undefined) // NaN
parseInt() // 轉(zhuǎn)為數(shù)字,向下取整 //從被轉(zhuǎn)換的數(shù)據(jù)中,從前往后獲取整數(shù),找到一個(gè)就不會(huì)再找了,只找整數(shù)開(kāi)頭的 代碼: parseInt(‘12.345') // 12 parseInt(‘12abc') // 12 parseInt(‘a(chǎn)bc12') // NaN parseInt(true) // NaN parseInt(false) // NaN parseInt(undefined) // NaN parseInt(null) // NaN 注:這些字符必須帶有數(shù)字且數(shù)字開(kāi)頭,不然全是NaN
parseFloat() // 轉(zhuǎn)為數(shù)字,整數(shù),小數(shù) 代碼: parseFloat(‘12.345') // 12.345 parseFloat(‘12.345abc') // 12.345 parseFloat(‘a(chǎn)bc12.345') // NaN parseFloate(true) // NaN parseFloat(false) // NaN parseFloat(undefined) // NaN parseFloat(null) // NaN 注:這些字符必須帶有數(shù)字且數(shù)字開(kāi)頭,不然全是NaN
隱式轉(zhuǎn)換
1.當(dāng) + 左右兩邊有一個(gè)是字符串的時(shí)候,另一個(gè)也會(huì)悄悄轉(zhuǎn)成字符串,進(jìn)行拼接
2.數(shù)學(xué)運(yùn)算符號(hào)會(huì)將左右兩邊都轉(zhuǎn)成數(shù)字進(jìn)行算數(shù)運(yùn)算 - 當(dāng)左右兩邊有一個(gè)是字符串的時(shí)候,+號(hào)就會(huì)拼接,當(dāng)左右兩邊沒(méi)有一個(gè)字符串,+也可以將左右兩邊轉(zhuǎn)成數(shù)字
3.當(dāng)比較運(yùn)算符左右兩邊有一個(gè)是數(shù)字的話,另一個(gè)也會(huì)悄悄轉(zhuǎn)成數(shù)字進(jìn)行大小比較
3.3 轉(zhuǎn)換為布爾型
代表空、否定的值會(huì)被轉(zhuǎn)換為false,如''、0、NaN、null、undefined其余的值被轉(zhuǎn)換為true字符串轉(zhuǎn)布爾類型,空字符串是false,其他都是true
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
詳解Node.js模塊間共享數(shù)據(jù)庫(kù)連接的方法
我們可以寫(xiě)一個(gè)統(tǒng)一的數(shù)據(jù)庫(kù)連接模塊來(lái)供本地Node環(huán)境下各模塊間共享使用,接下來(lái)就來(lái)詳解Node.js模塊間共享數(shù)據(jù)庫(kù)連接的方法2016-05-05Javascript學(xué)習(xí)筆記2 函數(shù)
在Javascript中,function才是Javascript的第一型。當(dāng)我們寫(xiě)下一段函數(shù)時(shí),其實(shí)不過(guò)是建立了一個(gè)function類型的實(shí)體。2010-01-01JavaScript中join()方法的使用簡(jiǎn)介
這篇文章主要介紹了JavaScript中join()方法的使用簡(jiǎn)介,是JS入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-06-06JavaScript的21條基本知識(shí)點(diǎn)
這篇文章主要介紹了JavaScript的21條基本知識(shí)點(diǎn)的相關(guān)資料,需要的朋友可以參考下2014-03-03javascript數(shù)組操作(創(chuàng)建、元素刪除、數(shù)組的拷貝)
這篇文章主要介紹了javascript數(shù)組操作,包括創(chuàng)建、元素的訪問(wèn)、元素刪除、數(shù)組的拷貝等操作,還有其它示例,需要的朋友可以參考下2014-04-04javascript、php關(guān)鍵字搜索函數(shù)的使用方法
這篇文章主要介紹了javascript、php關(guān)鍵字搜索函數(shù)的使用方法的相關(guān)資料,需要的朋友可以參考下2018-05-05