摘要:个引用变量指向同一个对象,让其中一个引用变量指向另一个对象,另一个变量依然指向前一个对象。
JavaScript 基础深入——数据、变量、内存 什么是数据?
存储在内存中代表特定信息的,本质上是0100101.....
数据的特点:可传递、可运算
一切皆数据
内存中所有操作的目标:数据
算术运算
逻辑运算
赋值运算
运行函数
什么是内存?内存条通电后产生的可储存数据的空间(临时的)
内存的产生和死亡:内存条(电路板)==>通电==>产生内存空间==>存储数据==>处理数据==>断电==>内存空间和数据都消失
一块小内存的2个数据:
内部存储的数据
地址值
内存分类:
栈:全局变量 / 局部变量
堆:对象
什么是变量?
可变化的量:变量名和变量值组成
变量名
变量值
每个变量都对应一块小内存:
变量名:用来查找对应的内存,
变量值:就是内存中保存的数据
内存、数据、变量三者之间的关系内存是用来存储数据的空间
变量是内存的标识
关于引用变量赋值的问题2 个引用变量指向同一个对象,通过一个变量修改对象内部数据,另一个变量看到的就是修改后的数据。
2 个引用变量指向同一个对象,让其中一个引用变量指向另一个对象,另一个变量依然指向前一个对象。
几个易错问题 问题1var a = xxx, a 内存中到底保存的是什么?
xxx 是基本数据,a 内存中保存的就是这个数据
xxx 是对象,a 内存中保存的是对象的地址值
xxx 是一个变量,保存 xxx 的内存内容(可能是基本数据,也可能是地址值)
问题2在js调用函数时传递变量参数时,是值传递还是引用传递?
理解1:都是值(基本值/地址值)传递
理解2:可能是值传递,也可能是引用传递(地址值)
问题3js 引擎如何管理内存?
内存生命周期
分配小内存空间,得到它的使用权
存储数据,可以反复进行操作
释放小内存空间
释放内存
局部变量:函数执行完自动释放
对象:成为垃圾对象==>垃圾回收器回收
var a = 3 var obj = {} obj = undefined function fn () { var b = {} } fn() // b是自动释放, b所指向的对象是在后面的某个时刻由垃圾回收器回收
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/104079.html
摘要:进阶期理解中的执行上下文和执行栈进阶期深入之执行上下文栈和变量对象但是今天补充一个知识点某些情况下,调用堆栈中函数调用的数量超出了调用堆栈的实际大小,浏览器会抛出一个错误终止运行。 (关注福利,关注本公众号回复[资料]领取优质前端视频,包括Vue、React、Node源码和实战、面试指导) 本周正式开始前端进阶的第一期,本周的主题是调用堆栈,今天是第3天。 本计划一共28期,每期重点攻...
摘要:引用类型参数的传递与引用类型的复制一样,传递的是内存地址。指向一个新的地址,与不再指向同一个地址官方解释来一发中所有函数的参数都是按值传递的。总结很简单,函数参数都是按值传递都是栈内数据的拷贝。 基本类型与引用类型 值类型(基本类型):String,Number,Boolean,Null,Undefined。 引用类型:Array、Object、Function、Date等有多个值...
摘要:引用类型参数的传递与引用类型的复制一样,传递的是内存地址。指向一个新的地址,与不再指向同一个地址官方解释来一发中所有函数的参数都是按值传递的。总结很简单,函数参数都是按值传递都是栈内数据的拷贝。 基本类型与引用类型 值类型(基本类型):String,Number,Boolean,Null,Undefined。 引用类型:Array、Object、Function、Date等有多个值...
阅读 3833·2021-09-27 13:56
阅读 880·2021-09-08 09:36
阅读 765·2019-08-30 15:54
阅读 609·2019-08-29 17:29
阅读 927·2019-08-29 17:21
阅读 1682·2019-08-29 16:59
阅读 2757·2019-08-29 13:03
阅读 2963·2019-08-29 12:47