2

Javascript——数据类型存储方式的区别

 2 years ago
source link: https://segmentfault.com/a/1190000040775434
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
  • JavaScript 由于是一个脚本语言,需要依赖于浏览器执行,所有JavaScript不能直接访问电脑的内存空间,所以当浏览器运行时,会占用一段内容空间,并将占用的内存空间分配一部分给JavaScript
    image.png
  • JavaScript 内存空间

    image.png

    • 栈内存:先进栈低
    • 堆内存:随机存储
  • JavaScript数据类型的存储方式

    • 基本数据类型的存储方式:将数据存入到栈空间
    • 复杂数据类型的存储方式:将数据存在堆空间,将地址存在栈空间

      • 数据的读取:由于只能直接访问栈空间,所以基本数据类型可以直接获取,而复杂数据类型需要先在栈空间获取数据存储地址,再通过这个地址去访问堆空间内存储的数据
  • 不同数据类型赋值的区别

    • 基本数据类型:将一个变量的值赋给另一个变量,赋值完成后,这两个变量操作时互不影响
    • 复杂数据类型:将一个变量的值赋给另一个变量,其实相当于把地址赋给另一个变量,这样另一个变量也可以访问这个地址的堆空间,操作时两个变量会相互影响
  • 函数的内存空间

    函数的内存空间一部分存储代码,一部分存储数据,两部分空间互不干扰

    • 函数名();表示当作一个函数使用,进行函数调用
    • 函数名.成员名=值表示一个对象,进行操作对象
      image.png

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK