美文网首页
JavaScript中的堆和栈

JavaScript中的堆和栈

作者: WHU_凌晨_Bin | 来源:发表于2018-08-07 22:43 被阅读12次

    1. 堆heap和栈stack的区别

    在计算机领域中,堆栈是两种数据结构,它们只能在一端(称为栈顶(top))对数据项进行插入和删除。

    堆:队列优先,先进先出;由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
    栈:先进后出;动态分配的空间 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。
    以上都属于计算机基础部分,在此都不详细赘述了,下面我们联系JavaScript来剖析一下堆栈。

    2. JavaScript变量类型

    JavaScript变量可以用来保存两种类型的值:基本类型值和引用类型值

    JavaScript的数据类型有六种,包括5种基本类型和1种引用类型:

    • 基本类型
      • Undefined
      • Null
      • Boolean
      • Number
      • String
    • 引用类型
      • Object

    基本类型值和引用类型值具有以下特点:

    • 基本类型值在内存中占据固定大小的空间,因此被保存在栈(stack)内存
    • 从一个变量向另外一个变量复制基本类型的值,会创建这个值的一个副本;
    • 引用类型的值是对象
      关于typeof与instanceof的区别

    相关文章

      网友评论

          本文标题:JavaScript中的堆和栈

          本文链接:https://www.haomeiwen.com/subject/twgnvftx.html