JS基础知识点及常见面试题1.1——JS的8种数据类型

一、JS数据类型分为两类:基本数据类型、引用数据类型

二、基本数据类型

  JS的原始类型有7种,分别为Number、String、Boolean、Null、Undefined、Symbol(ES6新增的Symbol)、BigInt(最新:用于整数值大于Number数据类型支持的范围时)

  基本数据类型的特点:基本数据类型存储的都是值,一般存储在栈上(栈指的是内存里的栈内存)。值保存在变量本地,且赋值给其他变量后,其他变量改变不影响原来的值。

三、引用数据类型

  Object (在JS中除了基本数据类型以外都是对象,Object是个大类,function函数、array数组、date日期....等都归属于Object )

  引用数据类型的特点:引用数据类型存储的是地址(也就是指针),一般存储在堆中。当我们创建一个引用类型时,计算机会在堆内存中帮我们开辟一个空间来存放值,当我们访问值时,也就是要访问这个空间所拥有的那个地址(指针)。 

四、基本数据类型和引用数据类型的区别

  1、声明变量时内存分配不同

  基本数据类型:存储在栈中,由于占据的空间大小固定且较小会被存储在栈当中,也就是变量访问的位置,这样也便于迅速查询变量的值

  引用数据类型:存储在堆中,变量访问的其实是一个指针,它指向存储对象的内存地址

  2、访问机制不同

  基本数据类型:可以直接访问到

  引用数据类型:不允许直接访问保存在堆内存中的对象,所以在访问一个对象时,首先得到的是这个对象在堆内存中的地址,然后再按照这个地址去获得这个对象中的值

  3、复制变量时的不同

  基本数据类型:复制后两个变量是完全独立的,互不影响,因为只是把值拷贝了一份,因此它们只是拥有相同的value而已

  引用数据类型:复制了一个指针给新变量,2个变量指向同一个指针,它们任意一个做出改变,另一个也会收到影响

五、涉及面试题

  1、JS类型有哪些?

  2、解决0.1 + 0.2 !== 0.3(先让0.1和0.2分别乘以10,求和之后再除以10,这样就不会有问题了)

  3、修改对象得出结果笔试题

 

posted @ 2022-12-30 09:21  最初的样子  阅读(661)  评论(0)    收藏  举报