js基本数据类型定义以及转换

编码相关

  • ASCⅡ 码表

    • 0 表示结束字符

    • 10 表示换行

    • 13 表示回车

    • 32 表示空格

    • 33 到 47 表示标点

    • 48 到 57 表示数字符号

    • 65 到 90 表示大写字母

    • 97 到 122 表示小写字母

    • 127 表示删除键

    • 详细码表可以搜索得到,需要记住的是数字从 48 开始,大写字母在小写字母前面

  • unicode 编码

    • UTF-8 中的 8 是指最少可以用 8 位存一个字符

JS 数据类型

  • 8 种数据类型

    • 7 种基本(原始)数据类型

      • Number

        • 64 位浮点数
        • 0 +0 -0 都等于零
        • infinite 、+ infinite 、- infinite
        • NaN 表示不能表示的数字,但是NaN 是数字类型
          • 0/0 等于 NaN
          • NaN 不等于 NaN
        • 范围
          • Number.MAX_VALUE: 1.7976931348623157e+308
          • Number.MIN_VALUE: 5e-324
        • 精度
          • 最多只能到 52+1 个二进制位表示有效数字
          • 2^53 对应的十进制是 9 后面 15 个零
          • 所以 15 位有效数字都能精确表示
          • 16 位有效数字如果小于 90 开头,也能精确表示
          • 9110000000000001 就存不下来
      • String

        • 每个字符只用两个字节(阉割版 utf8)

        • 写法

          • “”

          • ‘’

          • `` (模版字符串)

          • 注意转义字符

            pic14(转义字符)

          • 属性

            • .length
          • base64 转码

            • window.btoa() 加密
            • window.atob()解密
            • 太简单了要少用
      • Boolean

        • 5 个 falsy
          • Null
          • undefinde
          • 0
          • NaN
          • ‘’
      • Null

      • Undefined

      • Sybol

      • Bigint(2020 年 6 月新加入)

    • 复杂数据类型:Object

  • 类型转换

    • Number=>string
      • String(n)
      • n+’’
    • String=>Number
      • Number(s)
      • ParsInt(s)/ParsFloat(s)
      • s - 0 / + s
    • x =>boolean
      • Bolean(x)
      • !!x
    • x =>string
      • String(x);
      • x.toString();

变量提升

  • var

  • let

    • 块作用域
    • 没有变量提升,不可重复赋值,必须先声明再使用,否则报错
    • 可以赋值,也可以不赋值
    • 全局声明的 let,不会变成 window 的属性
    • for 里面使用 let 有奇效
  • const

    • 块作用域
    • 没有变量提升,有且仅有一次赋值,必须先声明再使用,否则报错
    • 声明时必须赋值,而且不可改
    • 全局声明的 const,不会变成 window 的属性

    阅读材料JavaScript 秘密花园 (bonsaiden.github.io)


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!