JavaScript巩固篇(一)——数据类型与全局变量、局部变量、垃圾回收机制、存储方式、生命周期

时间:2021-05-24 10:28:42

知识要点

  1. 数据类型
  2. 存储方式
  3. 全局变量与局部变量
  4. 变量的生命周期
  5. 垃圾回收机制

知识概览

JavaScript巩固篇(一)——数据类型与全局变量、局部变量、垃圾回收机制、存储方式、生命周期

 

数据类型

  JavaScript的数据类型分为:基本类型、引用类型

  本质区别: 

    基本数据类型的变量实际值存储在栈中

    引用数据类型,据名知意,引用数据类型的实际值存储在堆中,变量值实际存储的是实际值存储在堆中的地址

  见图:

  JavaScript巩固篇(一)——数据类型与全局变量、局部变量、垃圾回收机制、存储方式、生命周期

综上思考复制????

数据类型的复制

  基本数据类型与引用数据类型的的复制区别综上显而易见

  1 基本数据类型当 var a = 1; var b = a ;的时候 b 获取到的是实际值,所以在内存空间中会新增一个存储你值为1的b的内存空间, 示意图如下

         JavaScript巩固篇(一)——数据类型与全局变量、局部变量、垃圾回收机制、存储方式、生命周期

 

  2. 引用数据类型当var a = {name: 'lili'}; var b = a;的时候b获取到时存储在变量a中的地址, 所以再内存空间中会新增一个存储着地址的变量b, 而a , b 指向同一个内存堆中,示意图如下

    JavaScript巩固篇(一)——数据类型与全局变量、局部变量、垃圾回收机制、存储方式、生命周期

大致了解之后,思考一下全局变量和局部变量的生命周期????

全局变量与局部变量生命周期

  1. 全局变量: 在页面关闭后结束

  2. 局部变量: 在执行的作用域块执行完成后结束

综上, 局部变量会在其函数块执行之后自动解除,对于引用类型的局部作用域其引用关系会自动解除

   大多数的引用类型的全局变量需要手动解除引用关系