JavaScript 的數(shù)據(jù)類型串结,共有七種舅列。
1剧蹂、數(shù)值(number)
2、字符串(string)
3先巴、布爾值(boolean)
4冒冬、undefined
5简烤、null
6、對(duì)象(object)
7挥萌、symbol (不常用)
原始類型:number string boolean
復(fù)合類型:object
特殊值:undefined null
JS三種方法判斷一個(gè)值到底是什么類型
1引瀑、typeof運(yùn)算符
數(shù)值、字符串帜矾、布爾值分別返回number屡萤、string掸宛、boolean旁涤。
注意以下幾個(gè)案例的typeof的返回值
2劈愚、instanceof運(yùn)算符
3、Object.prototype.toString方法
· 數(shù)值(number)
1掠械、整數(shù)與浮點(diǎn)數(shù)
JS內(nèi)部注祖,所有的數(shù)字都是以64位浮點(diǎn)數(shù)形式存儲(chǔ)是晨,JS底層語言中沒有整數(shù)的概念,所有的數(shù)字都是小數(shù)蚊逢,即64位浮點(diǎn)數(shù)烙荷,
因浮點(diǎn)數(shù)檬寂,不是精確的值,運(yùn)算時(shí)要特別注意
2匾旭、數(shù)值的表示法
下面兩種情況,JS自動(dòng)轉(zhuǎn)換為科學(xué)計(jì)數(shù)發(fā)
(1)小數(shù)點(diǎn)前的數(shù)字多于21位
(2)小數(shù)點(diǎn)后的零多于5個(gè)描沟。
3吏廉、數(shù)值的進(jìn)制
4孤荣、特殊數(shù)值
(1)JS 內(nèi)部實(shí)際上存在2個(gè)0:一個(gè)是+0须揣,一個(gè)是-0耻卡,區(qū)別就是64位浮點(diǎn)數(shù)表示法的符號(hào)位不同卵酪。它們是等價(jià)的。
只有作為分子時(shí)不等價(jià)
(2)NaN霹肝,表示“非數(shù)字”(Not a Number)沫换,主要出現(xiàn)在將字符串解析成數(shù)字出錯(cuò)的場(chǎng)合。
5讯赏、正無窮Infinity和負(fù)無窮-Infinity
· 字符串(string)
1垮兑、string 用單引號(hào)或雙引號(hào)表示
2、空字符串和空格字符串
3漱挎、轉(zhuǎn)義符:反斜杠 \
4系枪、多行字符串的寫法
ES6多行字符串
· 布爾值(boolean)
1、布爾只有兩個(gè)值true or false
2磕谅、下面的運(yùn)算符計(jì)算結(jié)果會(huì)返回布爾值
3私爷、布爾值轉(zhuǎn)換規(guī)則,下面六個(gè)值轉(zhuǎn)為false衬浑,其他均為true
· null和undefined
null與undefined都可以表示“沒有”,相等運(yùn)算符(==)甚至報(bào)告兩者相等,那null和undefined有什么區(qū)別呢放刨?
· 對(duì)象(object)
1工秩、對(duì)象就是一組“鍵值對(duì)”(key-value)的集合,是一種無序的復(fù)合數(shù)據(jù)集合
2进统、鍵名:對(duì)象的所有key都是字符串助币,加不加引號(hào)都可以,非字符串的key會(huì)自動(dòng)轉(zhuǎn)為字符串螟碎,但不加引號(hào)奠支,key必須符合標(biāo)識(shí)符
3、獲取屬性值
(1) object[‘key’]抚芦,方括號(hào)運(yùn)算符倍谜,鍵名必須放在引號(hào)里面,否則會(huì)被當(dāng)作變量處理叉抡。
(2) object.key尔崔,此時(shí)key是字符串key
4、查看所有屬性
Object.keys方法褥民,屬性以數(shù)組的方式列出
5季春、刪除對(duì)象的屬性
6、in運(yùn)算符
檢查對(duì)象是否包含某個(gè)屬性消返,如果包含就返回true载弄,否則返回false。
7撵颊、for…in 循環(huán)
for...in循環(huán)用來遍歷一個(gè)對(duì)象的全部屬性宇攻。