简述JavaScript的原始类型、引用类型、栈、堆、浅拷贝、深拷贝的概念

简述JavaScript的原始类型、引用类型、栈、堆、浅拷贝、深拷贝的概念

  • 原始类型(primitive):数字、字符串、布尔值、null、undefined
    //不可变类型(immutable):数字、字符串、布尔值、null、undefined
    //变量存放在栈中,可直接访问
  • 引用类型(object type):数组、函数、对象
    //可变类型(mutable):数组、函数、对象
    //存放在堆中,生成一个地址指针,并且链接到栈中
  • 堆(heap):速度快,先进后出,系统自动分配释放,一级缓存,调用完毕立即释放
  • 栈(stack):速度比较慢,先进先出,需申请并指明大小,二级缓存,垃圾回收
  • 浅拷贝:类似于为一个数据,分配两个快捷方式
  • 深拷贝:类似于把一个数据复制成两份,分别给两个快捷方式
Copyright [2018] by [羊驼可以吃吗] form [https://www.cnblogs.com/phpisfirst/]
原文地址:https://www.cnblogs.com/phpisfirst/p/9792584.html