数据分类

数据分为:静态数据,动态数据

静态数据

注:静态数据是指一些永久性的数据。一般是以文件的形式存储在硬盘上,比如文档,照片,视频等文件

电脑关闭后,静态数据仍然还在,

动态数据:是指在程序的运行中,动态的产生的临时数据,一般都存储在内存中

电脑关闭后,这些数据就无了

前提:javascript 是一种弱类型语言,JS的变量数据类型,是在程序运行的过程中,根据等号右边的值来确定的。

==面试高频点==

JS中一共有八种数据类型:

  • 基本数据类型(值类型):String 字符串 、Number 数值、Bigint 大型数值、Boolean 布尔值、Null 空值、Undefined 未定义、Symbol。

  • 引用数据类型(引用类型):Object对象

    注意:内置对象 Function Array Data RegExp Error 都是属于Object 类型

    Bigint 与 Symol是ES6中新增的类型

数据类型之间最大的区别:

  • 基本数据类型:参数赋值的时候,传数组
  • 引用数据类型:参数赋值的时候,传地址

栗子

基本数据类型举例

let a = 23 
let b = a
a++
console.log(a); // 24
console.log(b); // 23

上面的代码中:a 和 b 都是基本数据类型,让 b 等于 a,然后改变 a 的值之后,发现 b 的值并没有被改变

引用数据类型举例

let obj1 = new Object();
obj1.name = 'zhangkai'

let obj2 = obj1

//修改obj1
obj1.name = 'zk'
console.log(obj1.name) // zk
console.log(obj2.name) // zk

我们首先记住一句话:JS 中,所有的变量都是保存在栈内存中的。

总结

基本数据类型,是直接保存在==栈内存==中的。值与值都是独立存在的

引用数据类型,对象是保存在==堆内存==中的,而变量保存了对象的内存地址(对象的引用),保存在栈内存当中。如果两个变量保存了同一个对象的引用,当一个通过一个变量修改属性时,另一个也会受到影响。