1、JS里面有哪些數(shù)據(jù)類(lèi)型
JS有下面七種數(shù)據(jù)類(lèi)型:
- number:數(shù)字或數(shù)值;
- string:字符串;
- boolean:布爾值;
- symbol:符號(hào),symbol值,ES6增加的;
- null:null,一般用于表示空對(duì)象;
- undefined:undefined,一般表示空非對(duì)象(變量、函數(shù)未賦值、函數(shù)無(wú)返回值,哈希表未賦值的key等);
- object:對(duì)象;
注:array數(shù)組和function函數(shù)不是一種類(lèi)型,它們都屬于對(duì)象的一種;
2、number類(lèi)型
十進(jìn)制:
1 //表示1
1.2 //表示小數(shù)1.2
.1 //表示0.1
1.23e2 //科學(xué)計(jì)數(shù)法123
二進(jìn)制(0b或0B為前綴的數(shù)值):
0b11 //表示3
var phonenumber='021-3523852' //一般存電話用字符串,以0開(kāi)頭容易導(dǎo)致識(shí)別為八進(jìn)制數(shù)字
八進(jìn)制(0o或0O為前綴的數(shù)字,或者0開(kāi)頭且只用到0~7數(shù)字的數(shù)值):
011 //表示9
0o27 //表示23
十六進(jìn)制(0x或0X為前綴的數(shù)值):
0x11 //表示17
3、string類(lèi)型
用單引號(hào)或雙引號(hào)包裹:
'你好' //表示字符串'你好'
'' //表示空字符串,長(zhǎng)度為0
"" //也表示空字符串,長(zhǎng)度為0
' ' //表示空格字符串,引號(hào)中間有空格,長(zhǎng)度為1
注:當(dāng)需要表示的就是引號(hào)時(shí),可以用轉(zhuǎn)義符
\標(biāo)識(shí),轉(zhuǎn)義符不占字符
'\'\"' //表示' "字符,長(zhǎng)度為2
'\n\t' // 其中\(zhòng)n表示回車(chē),\t表示Tab制表符
'\\' //表示一個(gè)\,長(zhǎng)度為1
多行字符串:
var s = ' 12345 \
67890' //表示中間有個(gè)回車(chē),這種一把不用,后面有空格看見(jiàn)
var s = ' 12345' +
'67890' //也表示中間有個(gè)回車(chē),好讀的語(yǔ)法,推薦
4、boolean類(lèi)型
布爾值只有兩個(gè)ture真和false假,一般用于條件判斷
邏輯運(yùn)算符&&(與)和||(或)
5、null和undefined類(lèi)型
都表示什么也沒(méi)有,原創(chuàng)的一個(gè)bug
- 變量沒(méi)有值,就是undefined ,語(yǔ)法
- 有一個(gè)對(duì)象object,現(xiàn)在不想賦值,一般給一個(gè)null,慣例
- 有一個(gè)非對(duì)象(數(shù)字、字符串、布爾等)現(xiàn)在不想賦值,一般給一個(gè)undefined,慣例
6、對(duì)象類(lèi)型
哈希表就是對(duì)象類(lèi)型,前面的幾種類(lèi)型為基本類(lèi)型,對(duì)象為復(fù)雜類(lèi)型,由簡(jiǎn)單類(lèi)型組成,對(duì)象里面還可以有對(duì)象,空字符串''可作為對(duì)象的key;
var person = {
'name':'wen'
'age':18,
'gender':'male' , //最后一個(gè)逗號(hào)es3沒(méi)有,es5開(kāi)始有
}
對(duì)象取值:
person['name'] //這里要用引號(hào),不用可能會(huì)取錯(cuò)值
注:對(duì)象的key符合變量標(biāo)識(shí)符規(guī)定命名時(shí)可以用obj.key(取值特例)進(jìn)行取值,否則必須用obj['key']進(jìn)行取值,推薦加引號(hào);
用delete對(duì)象刪除內(nèi)容:
delete person['name'] //會(huì)刪除key和value
如何遍歷對(duì)象,用for...in:
for(var key in obj)
console.log(key, obj['key']) //obj的key和value會(huì)隨機(jī)的打印出來(lái),不按順序
7、查詢(xún)數(shù)據(jù)類(lèi)型:
用typeof查詢(xún)數(shù)據(jù)類(lèi)型,其結(jié)果如下:
typeof number // number
typeof string // string
typeof boolean // boolean
typeof symbol // symbol
typeof null // object js原始bug
typeof undefined // undefined
typeof object // object
typeof function // function 又一個(gè)js原始bug