JavaScript-数据类型梳理

本文介绍了JavaScript中的基本数据类型(String、Number、Boolean、Undefined、Null)与引用数据类型,强调基本类型值的不可变性和引用类型的共享特性。同时阐述了栈内存用于存储变量和基本类型,而堆内存用于保存引用类型及其对象。讨论了变量赋值时的内存复制行为,以及如何对比基本和引用类型变量。
摘要由CSDN通过智能技术生成

1、基本数据类型

JavaScript中的变量可能包含两种不同数据类型的值:基本数据类型和引用数据类型。

JavaScript中一共有5种基本数据类型:String、Number、Boolean、Undefined、Null。

基本数据类型的值是无法修改的,是可不变的。

基本数据类型的比较是值的比较,也就是两个变量的值相等,我们就认为这两个变量相等。

2、引用数据类型

引用类型的值是保存在内存中的对象。

当一个变量是一个对象时,实际上变量种保存的并不是对象本身,而是对象的引用。

当从一个变量向另一个变量复制引用类型的值时,会将对象的引用复制到变量中,并不是创建一个新的对象。

这时,两个变量指向的是同一个对象。因此,改变其中一个变量会影响另一个。

3、栈和堆梳理

JavaScript在运行时数据是保存到栈内存和堆内存当中的。

简单来说栈内存用来保存变量和基本类型,堆内存是用来保存变量。

我们在声明一个变量时,实际上就是在栈内存中创建一个空间用来保存变量。

如果是基本类型则在栈内存中直接保存,如果是引用类型则会在堆内存中保存,变量中保存的实际上对象在堆内存中的地址。

引用自:(65条消息) 学习JavaScript这一篇就够了_轻松的小希的博客-CSDN博客_javascript学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值