JS 基础(一)

147 阅读1分钟

JS知识点1

1. 为什么 null 用 typeof 检测是Object ?:

  • 所有的数据类型值在计算机中存储的都是按照"二进制"存储的
  • null -> 000000
  • 只要是对象都是以000开始的
  • typeof检测的时候,是根据计算机存储的二进制的值来检测的

2. js中的数据类型

  • 基本数据类型(值类型、原始类型)
    • number
      • NaN
      • Infinity
    • string
    • boolean
    • null
    • undefined
    • symbol (Symbol() 唯一值,不能呗new)
      • static Symbol
      • Symbol.prototype
    • bigint (超大数字(数字超过+(-)2^53最大安全数字时使用) => 数字后 + n)
  • 引用数据类型
    • object
      • 普通对象
      • 数组对象
      • 正则对象
      • 日期对象
      • JSON
      • Set
      • Map
      • ......
    • function
      • 普通函数
      • 构造函数
      • 箭头函数
      • 生成器函数
      • ......

3. JS 代码运行环境

  • 浏览器
  • node
  • webview
  • ...... (浏览器运行JS代码会在计算机的内存中分配楚一块栈内存(Stack)即执行环境栈(ECStack)用来供代码执行)

4. var[变量] = [值] 的过程

  • 先创建值:

    • 基础数据类型值,直接存栈内存
    • 引用数据, 开辟一个单独时空间(堆内存 Heap)用来存储值
  • 声明变量(declare) 存放到当前上下文的变量对象中(VO/AO)

  • 让变量和值关联起来(赋值 defined)