JavaScript-Advance-基础总结深入

171 阅读2分钟

数据类型

  • 分类
  • 判断

分类

  • 基本(值)类型
  • 对象(引用)类型

基本值类型

  • String 任意字符串
  • Number 任意的数字
  • boolean true/flase
  • undefined undefined
  • null null

对象(引用)类型

  • Object 任意对象
  • Function 一种特别的对象(可以执行)
  • Array 一种特别的对象(数值下标,内部数据是有序的)

判断

  • typeof
    • 返回数据类型的字符串表达
    • 可以判断undefined
    • 可以判断数值
    • 可以以判断字符串
    • 可以判断布尔值
    • 可以判断function
    • 不可以判断null与object
    • 不可以判断object与array
  • instanceof
    • 判断对象的具体类型
    • 不可以判断undefined
    • 其他两个可以
  • ===
    • 判断undefined
    • 判断null

问题

1.undefined与null的区别?

  • undefined代表定义未赋值
  • null定义并赋值了,只是值为null

2.什么时候给变量赋值为null呢?

  • 初始赋值,表明将要赋值为对象
  • 结束前,让对象成为垃圾对象(被垃圾回收站回收)

3.严格区分变量类型与数据类型?

  • 数据的类型
    • 基本类型
    • 对象类型
  • 变量的类型(变量内存值得类型)
    • 基本类型:保存就是基本类型的数据
    • 引用类型:保存的是地址值

实例

  • 实例:实例对象
  • 类型:类型对象

数据

问题:在js调用时传递变量参数时,是值传递还是引用传递

JS引擎如何管理内存

  • 1.内存生命周期
    • 分配小内存空间,得到它的使用权
    • 储存数据,可以反复进行操作
    • 释放小内存空间
  • 2.释放内存
    • 局部变量:函数执行完自动释放
    • 对象:成为垃圾对象==>垃圾回收器回收