资讯专栏INFORMATION COLUMN

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

psychola / 1093人阅读

摘要:打开首先看简单数据类型拿举个栗子看懂这一段应该不难。我们把基本数据类型中的这种操作称为拷值,方便记忆。总结简单数据类型用拷的,复杂数据类型用借的。

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

JavaScript中的数据类型

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

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

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

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

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

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

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

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

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

废话少说看栗子。

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

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

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/108020.html

相关文章

  • 什么是接口测试?接口测试基础、案例Json格式详解

    摘要:什么是接口测试全称接口是一个位于复杂系统之上能简化任务,像中间人一样不需要你了解详细的所有细节。接口测试与性能测试之间存在接口性能测试,主要通过来进行压测。 很多小...

    WalkerXu 评论0 收藏0
  • 面试宝典

    摘要:有谈谈面试与面试题对于前端面试的一些看法。动态规划算法的思想及实现方法帮大家理清动态规划的解决思路以及原理方法前端经典面试题从输入到页面加载发生了什么这是一篇开发的科普类文章,涉及到优化等多个方面。极客学院前端练习题道练习题,面试季练练手。 由数据绑定和排序引入的几个 JavaScript 知识点 在 JavaScript 的数据绑定和做简单的表格排序中遇到的几个知识点 [[JS 基础...

    neu 评论0 收藏0
  • 详解js面向对象编程

    摘要:看下面一个例子优点使用构造器函数的好处在于,它可以在创建对象时接收一些参数。按照惯例,构造函数的函数名应始终以一个大写字母开头,以区分普通函数。返回该对象的源代码。使您有能力向对象添加属性和方法。 基本概念 ECMA关于对象的定义是:无序属性的集合,其属性可以包含基本值、对象或者函数。对象的每个属性或方法都有一个名字,而每个名字都映射到一个值。 类 在现实生活中,相似的对象之间往往都有...

    lolomaco 评论0 收藏0
  • 详解js变量、作用域内存

    摘要:不是引用类型,无法输出简而言之,堆内存存放引用值,栈内存存放固定类型值。变量的查询在变量的查询中,访问局部变量要比全局变量来得快,因此不需要向上搜索作用域链。 赞助我以写出更好的文章,give me a cup of coffee? 2017最新最全前端面试题 基本类型值有:undefined,NUll,Boolean,Number和String,这些类型分别在内存中占有固定的大小空...

    waltr 评论0 收藏0
  • JavaScript类型系统详解

    摘要:基本数据类型中有种简单数据类型也称基本数据类型,,,和。不支持任何创建自定义类型的机制,而所有值都是上述中数据类型之一。 基本数据类型 ECMAScript中有5种简单数据类型(也称基本数据类型):Undefined,Null,Boolean,Number和String。还有一种复杂数据类型(引用型)Object。ECMAScript不支持任何创建自定义类型的机制,而所有值都是上述6中...

    ruicbAndroid 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<