js基础-值类型和引用类型

mac2022-06-30  25

在 ECMAScript 中,变量可以存在两种类型的值,即原始值和引用值。

 原始值引用值概念原始值指的是 原始类型 的值,也叫 基本类型引用值指的是 引用类型(类) 的值数据类型Number、Stirng、Boolean、Null、UnderfinedObject、Function、Array、Date、RegExp 存储栈(stack),占内存空间固定,使用后被销毁

堆(heap),占内存空间不固定,使用后不一定被销毁,只有一个对象没有任何引用时,

系统的垃圾回收机制才会回收销毁

赋值方式 1. 值的拷贝,创建一个新对象 2.保存与复制的是值本身 3.两份数据在内存中是完全独立的 1. 引用的拷贝,创建一个新引用 2.保存与复制的是指向对象的一个指针 3.变量中的存储的地址赋值一份单独存储, 两个变量中修改其中一个对象,另外一个引用来访问的时候,也会访问到修改后的值。 4.使用 new() 方法构造出的对象是引用型 值是否可变不可变可变作用域函数作用域,在函数内部修改时生效,函数销毁时失效函数中被修改时修改的是运行时数据区中的值,即使函数被销毁,变量的值依旧被改变。比较方式

值 的比较

引用的比较   == → 只比较值    === → 不仅比较值,还比较数据类型      检测类型  typeof 运算符  instanceof 运算符

存储详解原始值:

var a =100; var b = a; a = 200; console.log(b);//100

复制前的变量对象

 

复制后的变量对象

 

 

 

引用值:

var a = {age:20}; var b = a; b.age = 21; console.log(a.age);//21

 

  

 

转载于:https://www.cnblogs.com/lingXie/p/11493620.html

相关资源:JS前端面试基础-变量类型与计算
最新回复(0)