# 4. 变量 作用域和内存问题

  • 判断基础类型使用typeof操作符, 判断引用类型使用instanceOf
例如: 
alert(person instanceOf Object)
alert(person instanceOf Array)
alert(person instanceOf RegExp)
  • 变量赋值为对象时, 对象指针存储在新分配的空间中, 而真实的对象存储在堆内存中

  • JavaScript中函数参数都是按值传递的, 如果参数是引用类型, 也会按照引用访问同一个对象

  • 垃圾收集的方式有两种

    • 标记清除
    • 引用计数(循环引用会导致内存泄露)