Javascript的作用域、变量和内存

本文介绍了JavaScript中的原始值和引用值的区别,包括动态属性、复制值、传递参数和确定类型的方法。深入探讨了执行上下文、作用域链以及垃圾回收机制,包括标记清理和引用计数策略,强调了内存管理和优化的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.通过变量使用原始值与引用值

1.1 原始值与引用值

ES变量可以包含两种不同类型的数据:原始值和引用值

原始值:最简单的数据

引用值:由多个值构成的对象

Tips:在把一个值赋给变量时,js引擎必须确定这个值时原始值还是引用值

// 原始值
undefined
null
boolean
number
string
symbol

// 引用值时保存在内存中的对象
js不允许直接访问内存位置,因此不能直接操作对象所在的内存空间
在操作对象时,实际上的操作时对该对象的引用,而非实际的对象本身

补充

js中的内存分为堆内存和栈内存
堆内存:存储引用类型值
栈内存:提供js代码执行的环境和存储基本类型

堆内存释放:让所有堆内存空间地址的变量赋值为null即可
栈内存释放:
1。函数执行完成,当前形成的栈内存中,某些内容被栈内存以外的变量占用了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值