JS 里的数据类型

作者: _ClariS_ | 来源:发表于2019-07-22 19:09 被阅读3次

      七种数据类型:number、string、boolean、symbol、undefined、null、object(注意没有 array 类型也没有 function 类型,array 和 function 实际上是包含在 object 中的)
      因此 “JS一切皆对象” 的说法错误

    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` // 含回车符号
    

    • "\" 表示转义字符
      特殊字符的表示
    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']
    • '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 循环遍历一个对象
    for...in 循环遍历对象

    相关文章

      网友评论

        本文标题:JS 里的数据类型

        本文链接:https://www.haomeiwen.com/subject/sjwvlctx.html