JS数据类型以及存储方式
1.先介绍下数据类型有哪些:
基础数据类型包括:string,number,boolean,undefined,null
引用数据类型包含:Object,Array,Date
2.再来介绍下存储方式:
栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
栈使用的是一级缓存, 他们通常都是被调用时处于存储空间中,调用完毕立即释放。
堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。
基本类型存储的是值而复杂数据类型也叫引用类型存储的是对象的地址如0x00001而在栈中存的是变量数值和函数参数
堆中存的是对象和数组
3.最后结合图例具体说明:
1.基本数据类型的存储:
**基本的数据类型存储在栈中,先将变量的声明在内存中的栈开辟一片空间值是undefined,后将值赋给这片空间,执行步骤:
- var num; //值是:undefined
- num = 10;
- var n;
- n = num;**
先声明后赋值,当一个变量赋值的是另一个变量时,就会将那个变量的值赋给这个变量
当改变值时:
var a = 11;
var b = a;
a = 12;
console.log(a); //12
console.log(b); //11 b的值不会随a的值得改变而改变
2.引用数据类型的存储:
- 在堆中存储的是对象,栈存储的是对象的地址
- new关键字,会在堆中生成一个空对象
- 对象的诞生,地址也会生成
当改变值时:
var a = [1,2,3]var b = aa[0] = 9console.log(b); //[9,2,3]
b的值随着a的值改变而改,因为他们指向同一个内存地址
3.实参和形参在内存中存储:
在栈中声明,实参赋值后,给函数中的假参传递值
JS数据类型以及存储方式相关推荐
- JS数据类型及存储方式
JS数据类型及存储方式 JavaScript的数据类型分为:原始类型(基本数据类型)和对象类型(引用数据类型) 基本数据类型:null(空),undefined(未定义),number(数字),Str ...
- Oracle 数据类型及存储方式
Oracle 数据类型及存储方式 袁光东 原创 概述 通过实例,全面而深入的分析oralce的基本数据类型及它们的存储方式.以ORACLE 10G为基础,介绍oralce 10g引入的新的数据类 ...
- 数据类型及其存储方式(C语言详解)
数据类型及其存储方式 数据类型 整型家族 浮点型家族 构造类型 指针类型 空类型 数据的存储 整型存储 原码.反码.补码 大小端存储模式 浮点数存储 在c语言中数据类型基本可分为:整型家族.浮点型家族 ...
- C语言的数据类型及其存储方式
C语言的数据类型及其存储方式 一.C语言的数据类型 1.常见的数据类型 2.整型家族 3.构造类型 4.指针类型 二.整形在内存中的存储 1.大小端字节序 2.源码.反码和补码 三.浮点数在内存中的存 ...
- Oracle数据类型及存储方式——字符类型篇
注:这篇文章绝大部分都摘抄于袁光东先生的 <<oracle小组学习笔记>>. 下面会对各种字符类型作详细解释. 一. char 类型 oracle 可以定义1个char(n) ...
- Oracle 数据类型及存储方式(袁光东 原创)
概述 通过实例,全面而深入的分析oralce 10G的基本数据类型及它们的存储方式.从实用和优化的角度出发,讨论每种数据类型的特点.从这里开始oracle之旅! 第一部份 字符类型 §1.1 char ...
- 转--Oracle数据类型及存储方式【C】
第二部分 数值类型 § 2.1 number Number类型是oralce的数值类型,存储的数值的精度可以达到38位.Number是一种变长类型,长度为0-22字节.取值范围为:10e-130 – ...
- JS中变量的存储方式 -- 栈和堆
栈空间和堆空间 JS变量都存储在内存中,而内存给变量开辟了两块存储空间,分别为栈(stack)空间和堆(heap)空间 栈空间:存放JS基本数据类型,通过按值访问,可以直接操作保存在变量中的实际值. ...
- Redis简介、与memcached比较、存储方式、应用场景、生产经验教训、安全设置、key的建议、安装和常用数据类型介绍、ServiceStack.Redis使用(1)...
1.NOSQL简介 nosql的产生并不是要彻底的代替关系型数据库,而是作为传统关系型数据库的一个补充. Facebook和360使用Cassandra来存储海量社交数据 Twitter在其url抓取 ...
最新文章
- python bindings_OpenCV-Python Bindings 如何工作 | 六十四
- 2021年中寻找新SAP项目机会小记
- 知乎宣布完成4.34亿美元F轮融资,快手领投,融资额刷新此前记录
- java 跨域上传_java使用webuploader实现跨域上传详解
- xaml_XAML或JavaFx?
- micopython 18b20_MicroPython控制8*8LED点阵显示温度
- 图片列表页的显示方法
- 生姜红糖水怎么喝健康呢?
- 如何还原已经推送到远程分支的合并提交?
- mootools LightBox
- 拓端tecdat|R语言画ROC曲线总结
- ArcView GIS 应用与开发技术(6)- 属性查询
- 圆柱表面积在线计算机,体积计算器在线计算
- matlab色散光纤,基于MATLAB的高速光通信色散补偿技术
- ILSVRC2015-VID数据集结构一览图
- QQ邮箱收不到GitHub验证邮件
- [BZOJ 1135][POI2009]Lyz
- 一文弄懂责任链设计模式
- 流量卡官网源码 有后台带文章系统
- 统计思维——通过统计方法解决分析问题
热门文章
- 性能指标TP50、TP90、TP99、TP999解读和学习
- 修改redis服务器的端口号,Centos7搭建redis,同一服务器启动两个端口的redis
- 虚拟服务器网址怎样查看,虚拟主机的ip地址怎么查
- java医院挂号代码_基于SSM开发的Java医院预约挂号系统 源码下载
- 机器学习中的数学——距离定义(十): 布雷柯蒂斯距离(Bray Curtis Distance)
- ubuntu16.04安装使用YouTube-DL和Youtube-dl GUI
- 机器学习线性回归Matlab实现(附数据集)
- FFmpeg介绍及了解常用指令(●----●)
- Hashing哈希函数(Introduction to Algorithms, 算法导论,CLRS)学习笔记
- 小米布局智能家居,试产首款智能插座