美文网首页
JavaScript中的基本数据类型和引用数据类型

JavaScript中的基本数据类型和引用数据类型

作者: 加加大叔 | 来源:发表于2017-05-02 16:30 被阅读0次

## 大连科技

自己整理的,不一定正确,思路也比较乱!欢迎指正!

先讲清楚几个概念!

变量:变量是一个名字。它绑定了一块内存(堆内存)!

变量值:存储在变量那块内存中的数据!数据基本可以分为两种,基本数据类型和引用数据类型。(函数也相当于一组变量和变量值(键值对),函数名就是一个变量。而变量值是那个函数的地址引用)

对象:不能被变量直接绑定,而是要通过引用来间接绑定的数据就是对象(函数也是对象,"万物皆对象")。而且对象数据与非变量数据相比有一个特点,即它是有内部结构的,即属性

1、变量—>数据
2、变量—>数据(地址)—>数据(对象、函数)

总结一下就是:变量是一个名字,它绑定一块存储空间,这个空间要么放数据,要么放数据的地址(或者某种引用)

基础数据类型(undefined、null、boolean、number、string)都是按值访问的。按值访问相当于将变量中的数据进行一次拷贝,给新的变量,原变量改变后,按值访问的不会变化!

把a赋值给b后,a改变,b不随着改变


引用数据类型(对象、函数是按引用访问的!引用数据类型存储在变量中的值是保存在堆内存中的对象的地址。JS不允许直接访问堆内存中的对象?因此我们不能直接操作对象的堆内存空间。在操作对象时,实际上是在操作对象的引用而不是实际的对象。

简单说就是:变量绑定的那块内存里放的数据,并不是我真正想要的数据,它是一个元数据、一个地址,一个指向我真正想用的数据的位置的指针。

当我们要访问堆内存中的引用数据类型时,实际上我们首先是从变量中获取了该对象的地址引用(指针),然后再从堆内存中取得我们需要的数据!

下面这个例子,b 等于的是 a 对象的引用,而不是把整个 a 对象复制给 b, 因此b a 指向的是同一个对象,所以b改动了对象的值,a指向的对象的值也改变了!

另外一个例子

当对象被当参数传递时,传的是该对象的地址引用!(为了证明对象是按值传递的!传递!传递!不是访问!引用类型按引用访问,按值传递! 基本数据类型则都是按值传递和按值访问!)

相关文章

  • JavaScript 数据类型与类型判断详解

    一、JavaScript 数据类型 JavaScript 数据类型有两种,分别是基本数据类型和引用数据类型。 基本...

  • JS类型判断typeof、instanceof、construc

    一、JavaScript 数据类型 JavaScript 数据类型有两种,分别是基本数据类型和引用数据类型。 基本...

  • 关于JS对象的深浅拷贝

    JavaScript中的数据类型主要分为基本数据类型和引用数据类型。常见基本数据类型主要有:undefined, ...

  • javascript修炼之路(三)------数据类型与内存

    一、数据类型分类 javascript中的数据类型分为基本数据类型和引用数据类型。 基本数据类型有五种类型:Num...

  • JavaScript_数据类型

    JavaScript数据类型包括基本数据类型和引用数据类型基本数据类型:null,undefined,string...

  • js中的浅拷贝和深拷贝

    我们都知道,JavaScript中有两种数据类型,基本数据类型和引用数据类型。 对于js中的基本数据类型,如num...

  • JAVA之引用类型

    java中数据类型分为基本数据类型和引用数据类型。 1、引用数据类型 java中的数据类型分为基本数据类型和引用数...

  • 引用类型对象拷贝

    1.引用类型有哪些?非引用类型有哪些javascript的数据类型分为基本数据类型和引用类型,基本数据类型包括数值...

  • JavaScript原型与原型链

    一、数据类型JavaScript的数据类型可以分为基本数据类型和引用数据类型。 基本数据类型(6种)StringN...

  • JS的一些面试点

    JS 数据类型 JavaScript中什么是基本数据类型什么是引用数据类型?以及各个数据类型是如何存储的? 基本数...

网友评论

      本文标题:JavaScript中的基本数据类型和引用数据类型

      本文链接:https://www.haomeiwen.com/subject/jhuctxtx.html