JS 里的数据类型

  七种数据类型:number、string、boolean、symbol、undefined、null、object(注意没有 array 类型也没有 function 类型,array 和 function 实际上是包含在 object 中的)

1. number
  • 整数和小数:1、1.1、 .1(即0.1)
  • 科学记数法:1.23e2
  • 二进制:0b11
  • 八进制:011(后来 ES5 添加了 0o11 语法)
  • 十六进制:0x11
2. string
  • 空字符串:' '
  • 多行字符串:
  var s = '12345' +
              '67890' // 无回车符号  (推荐写法)
  或
  var s = `12345
  67890` // 含回车符号
JS 里的数据类型_第1张图片

JS 里的数据类型_第2张图片
  • "\" 表示转义字符
    JS 里的数据类型_第3张图片
    特殊字符的表示
3. boolean
  • boolean 的取值
    只有两个值:truefalse
    a && bab 都为 true 时,取值为 true;否则为 false
    a || bab 都为 false 时,取值为 false;否则为 true
4. symbol

JS 中的 Symbol 是什么?

5. undefined 和 null

undefined 和 null都表示没有值,二者的用法如下:

  • (规范)如果一个变量没有被赋值,那么这个变量的值就是 undefiend
  • (习俗)如果你想表示一个还没赋值的对象(空对象),就用 null;如果你想表示一个还没赋值的字符串/数字/布尔/symbol(空的非对象),就用 undefined(声明的时候直接 var xxx 就行了,不用写 var xxx = undefined
  • Number(null) // 转为数值时为0
    Number(undefined) // 转为数值时为NaN
6. object
  • object 就是上面几种基本类型(无序地)组合在一起
  • object 里面可以有 object
  var person = { 
      name: 'aaa',  //'name': 'aaa'(key 只能是字符串)
      'child': {
          name: 'bbb' //'name': 'bbb'(key 只能是字符串)
      }, // 最后这个逗号可有可无
  }
  • objectkey 一律是字符串,不存在其他类型的 key
  • object[''] 是合法的
  • object['key'] 可以写作 object.key(只有 ' ' 里的 key 符合标识符的命名规则时才能采用这种写法)
  • 注意 object.keyobject[key] 不同(object['key'] !== object[key]
  • 删除 key :delete object['key']
    JS 里的数据类型_第4张图片
  • 'key' in object
7. typeof 操作符
xxx 的类型 string number boolean symbol undefined null object function
typeof xxx 'string' 'number' 'boolean' 'symbol' 'undefined' 'object' 'object' 'function'

注意:①null 的类型为 'object'
   ②function 的类型为 'function'( function 并不是一个类型)
是 JS 的两个 bug

8. 如何用for...in 循环遍历一个对象
JS 里的数据类型_第5张图片
for...in 循环遍历对象

你可能感兴趣的:(JS 里的数据类型)