基本类型存储的是值而复杂数据类型也叫引用类型存储的是对象的地址如0x00001而在栈中存的是变量数值和函数参数

堆中存的是对象和数组

堆栈空间分配

栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值局部变量的值等。其操作方式类似于数据结构中的栈。

堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。

堆栈缓存方式

栈使用的是一级缓存, 他们通常都是被调用时处于存储空间中,调用完毕立即释放。

堆则是存放在二级缓存中,生命周期由虚拟机的垃圾回收算法来决定(并不是一旦成为孤儿对象就能被回收)。所以调用这些对象的速度要相对来得低一些。

总结:基本的数据类型存储在栈中,先将变量的声明在内存中的栈开辟一片空间值是undefined,后将值赋给这片空间,执行步骤:

  1. var num;  //值是:undefined
  2. num = 10;
  3. var n;
  4. n = num;

先声明后赋值,当一个变量赋值的是另一个变量时,就会将那个变量的值赋给这个变量

复杂类型在内存中的存储:

总结:

  1. 在堆中存储的是对象,栈存储的是对象的地址
  2. new关键字,会在堆中生成一个空对象
  3. 对象的诞生,地址也会生成

实参和假参在内存中存储:

总结:在栈中声明,实参赋值后,给函数中的假参传递值

js中的简单数据类型和复杂数据类型的存储的更多相关文章

  1. js中对象 类 实例的区别 数据类型 创建对象

    类是对象的具体细分,实例是类中的一个具体事物. 基本数据类型和 引用数据类型 基本数据类型:numble string undefined null 引用数据类型:对象和函数 对象数据类型又细分为:对 ...

  2. Gauge框架在JS中的简单应用

    gauge框架简介 Gauge是一个轻量级的跨平台测试自动化工具. gauge安装[Win10 64位下测试] [百度网盘链接]https://pan.baidu.com/s/1bidE34gLLrS ...

  3. 【补充说明】Gauge框架在JS中的简单应用

    这里做一个总结 由于公司架构要用node来替代Java的部分服务,所以就研究了这个自动化测试框架:它可以很方便的测试我们的接口,而且还能使用断言[assert]来判断是否是我们预期的结果. 但是呢,由 ...

  4. Js 中json简单处理

    Json2.js下载地址 json常用处理 Json字符串 var str = '{"code":10,"msg":"codemsg",&q ...

  5. js中indexof()简单使用

    indexOf()方法返回某个指定的字符串值在字符串中首次出现的位置. stringObject.indexOf(searchvalue,fromindex):indexOf()方法对大小写敏感如果要 ...

  6. js中的整型都是用double存储的,有时候不精确,如,

    sss=187948800449444864 187948800449444860   好像16位的时候还可以. http://segmentfault.com/a/1190000002608050

  7. JS 中对变量类型的判断

    总结:1. 一般简单的使用 typeof 或 instanceof 检测(这两种检测的不完全准确)          2. 完全准确的使用 原生js中的 Object.prototype.toStri ...

  8. JS 中对变量类型判断的几种方式

    文章整理搬运,出处不详,如有侵犯,请联系~   数据类型判断和数据类型转换代码工具 在 JS 中,有 5 种基本数据类型和 1 种复杂数据类型,基本数据类型有:Undefined, Null, Boo ...

  9. java:JavaScript3(innerHTML,post和get,单选框,多选框,下拉列表值得获取,JS中的数组,JS中的正则)

    1.innerHTML用户登录验证: <!DOCTYPE> <html> <head> <meta charset="UTF-8"> ...

随机推荐

  1. Cursor: Pin S Wait On X In The Top 5 Wait Events

    Wait Events , Posted in: Technical Track Tags: Group Blog Posts, Oracle, Technical Blog Lately, wait ...

  2. 爬虫基础(四)-----MongoDB的使用

    ------------------------------------------------------------------------摆脱穷人思维 <四> :减少无意义的频繁决策 ...

  3. offsetof(s,m)解析

    https://www.cnblogs.com/jingzhishen/p/3696293.html sizeof()用法汇总 sizeof()功能:计算数据空间的字节数1.与strlen()比较  ...

  4. IntentService+BroadcastReceiver 实现定时任务

    效果图: AlramIntentService package com.example.admin.water; import android.app.AlarmManager;import andr ...

  5. win10启动nginx但是访问不了

    首先验证配置,是否正常:nginx -t 我这里配置正常. 我的原因是设置了代理,打开IE浏览器,设置>Internet选项>连接>局域网设置>代理删除.

  6. Eclipse常用设置及快捷键

    1. Eclipse常用设置 1.1 代码自动提示 选择菜单:Window -> Preferences -> Java -> Editor -> Content Assist ...

  7. springboot jpa 复合主键

    https://blog.csdn.net/wyc_cs/article/details/9031991 创建一个复合主键类 public class LevelPostMultiKeysClass ...

  8. SVD/SVD++实现推荐算法

    奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不仅可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域. ...

  9. Docker 容器日志格式化

    Docker容器的日志文件每一行都是一个json对象,其包含log.stream.time三个属性,下面的HTML从textarea中读取输入的日志信息,格式化为表格显示. <!DOCTYPE ...

  10. bzoj 1208: [HNOI2004]宠物收养所 (Treap)

    链接:  https://www.lydsy.com/JudgeOnline/problem.php?id=1208 题面: 1208: [HNOI2004]宠物收养所 Time Limit: 10 ...