JavaScript-简单及复杂数据类型详解

本篇不详细介绍每种数据类型的用途,如有需要请访问JS数据类型

JavaScript中的数据类型

简单(基本)数据类型: Number、String、Boolean、Undefined、Null
复杂(引用)数据类型: Object、Array等

不同数据类型的拷值与借值

简单数据类型用拷的,复杂数据类型用借的。
怎么理解这句话呢 看几个栗子就懂了。

打开console
首先看简单数据类型 拿Number举个栗子

clipboard.png

看懂这一段应该不难。
首先我们声明了Number型变量a并将它赋初值为1。
又声明了变量b同时把a赋给b。
此时b的值与a的值相同。这里是符合我们正常思维习惯的。
接着我们修改了b的值为2。
打印a 发现a的值并没有发生改变。

这是不是就很奇怪了。
a与b不该是一直相等的吗?

这是因为 简单(基本)数据类型是按值访问的,因为可以直接操作保存在变量中的实际值。
通俗点说,上面的b只是保存了a的一个副本(或者说是拷贝),所以b的改变对a没有影响。
我们把基本数据类型中的这种操作称为拷值,方便记忆。

再随便举一个简单数据类型的例子,加深理解

clipboard.png

接下来看复杂数据类型 或者叫它引用数据类型
Array(数组)和Object(对象)在编码过程中会大量使用。是两个非常强大的数据结构。

废话少说看栗子。

clipboard.png

也就是说,复杂数据类型是按引用访问的。在我们的例子中,相当于变量b把a的值借过来,所以b的改变也会影响到a。
十分浅显易懂。无需多做解释。

总结:简单数据类型用拷的,复杂数据类型用借的。所以当我们声明变量并将其赋给另外一个变量时,如果后续要更新变量的值,要考虑到还有这种骚操作。

后续会更新这种现象的原理。再说吧。先知道有这么回事儿。避免被坑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值