美文网首页海纳百川
js中基本类型和引用类型的存储问题

js中基本类型和引用类型的存储问题

作者: 凛冬已至_123 | 来源:发表于2018-07-06 18:41 被阅读0次

    本文主要说明一下js中的基本数据类型和引用数据类型在计算机中的存放问题

    • 基本数据类型
      当我们定义一个基本的数据类型的时候,例如var a=3,这个数据a 是如何存放的?
      下面简单介绍一下堆内存(heap)和栈内存(stack)
    • 栈:是一种连续储存的数据结构,具有先进后出的性质。
    • 堆:是一种非连续的树形储存数据结构,每个节点有一个值,整棵树是经过排序的。
      这里不需要用到这么抽象的解释,简单说就是计算机里的两种内存分配形式。
      栈/堆
      基本的数据类型-数字被存放在栈内存中,引用类型的地址也存放于栈内存中
      对象存放于堆内存中{a:1,b:2}

    基本类型值在内存中占据固定大小的空间 因此被保存在栈内存中。从一个变量向另一个变量复制基本来下的值 会创建这个值得一个副本。引用类型的值是对象 保存在堆内存中。包含引用类型值得变量实际上包含的并不是对象本身 而是一个指向该对象的指针。从一个变量向另一个变量复制引用类型的值 复制的其实是指针 因此两个变量最终都指向同一个对象

    相关文章

      网友评论

        本文标题:js中基本类型和引用类型的存储问题

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