JS 里的數(shù)據(jù)類型

js的七種數(shù)據(jù)類型:
1、數(shù)字 number
2、字符串 string
3、布爾 boolean
4、Symbol(符號)
5、null
6、undefined
7、對象 object

基本類型

數(shù)字 number

// 十進(jìn)制
1   1.1    .1   1.23e2
// 二進(jìn)制 
 0b11
// 八進(jìn)制
011
// 十六進(jìn)制 
0x11

字符串 string

// 空字符串 (長度為 0)
''     ""
// 空格字符串 (長度為 1)
' '    " "
// 轉(zhuǎn)義符(長度為1)
var a = '\''    // 單引號
var n = '\n'   // 回車
var t = '\t'    // 制表符
var b = '\\'   // 轉(zhuǎn)義符
// 多行字符串(s2為推薦寫法,s1容易在\后多空格產(chǎn)生錯誤)
var s1 = '12345 \
          67890'
var s2 = '12345' + 
         '67890'
var s3 = '12345 \   
          67890'
var s4 = `12345
67890`

布爾 boolean

// a&&b 與
只有在a和b同時為真,a&&b為真
// a||b  或
a和b有一個為真,a||b為真。都為假,為假

null和undefined

null類型的值為null
undefined類型的值為undefined
// 都表示什么都沒有
// 區(qū)別
1、(語法)如果一個變量沒有被賦值,它是undefined
2、(慣例)如果有一個對象object,但是現(xiàn)在還沒有賦值,推薦使用null
          如果有一個非對象,還沒有給它賦值,用undefined

復(fù)雜類型

var name = 'frank'
var age = 18
var gender = 'male'
//復(fù)雜類型是由基本類型組成的
var person = 
{
  'name': 'frank',
  'age': 18,
  'gender': 'male'
}

對象 object

var person = 
{
  'name': 'frank',
  'age': 18,
  'gender': 'male',
  'married': true,
  'children': null,
  self: person,  //***
  '': 'frank',   // person['']
  9a: 'frank',   // 錯誤寫法,不加引號的key的規(guī)則必須遵守標(biāo)識符的規(guī)則
  '9a': 'frank'     // 可以
}
// 獲取key
person['name'] // 不可以用person[name]
在符合標(biāo)識符的情況下可以用 person.name
// delete
delete person['name']
person.name   // undefined (無value)
'name' in person  // false (無key)
person.name = undefined  // 只把value設(shè)為undefined,key還是存在的
// 遍歷對象
for(key in person){
  console.log(key) 
  console.log(person.key)   // 不行
  console.log(person[key])  // 正確語法
  console.log(key,person[key])  // 瀏覽器不按規(guī)范打印
}

typeof的兩個BUG

type null // 'object'
type fn // 'function'
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容