ZKX's LAB

js引用类型变量 JS面试: 基本数据类型与引用类型间的使用区别

2020-07-20知识7

js传递的参数是引用类型 改变的是占内存还是堆内存 你编译了,但没运行就像是你的机器上安装了一个游戏但没有运行这个游戏,你觉得这个游戏会占用你的内存吗?。javascript中给变量赋值,是引用还是复制 JavaScript中的值分为2大类:基本类型和引用类型。每种类型下面又分为5种类型。基本类型:数字类型:Number;字符串类型:String;布尔类型:Boolean(true和false);Undefined;Null。引用类型:函数、数组、日期、正则、错误。注意:所有的引用类型都是对象,也就是Object对象下的一个类。在将一个值赋给变量时,解析器必须确定这个值是基本类型值还是引用类型值。对基本类型,是按值访问的,即通过值复制的方式来赋值和传递。对引用类型,是按引用访问的,即通过引用复制的方式赋值和传递。在操作对象时,实际上是在操作对象的引用,而不是实际的对象。JavaScript中基本数据类型和引用数据类型的区别 值类型变量值类型:数值、布尔值、null、undefined、字符串。变量的交换等于在一个新的作用域创建一个新的空间,新空间与之前的空间互不相关和影响。引用类型变量引用类型:对象、数组、函数。变量的交换,并不会创建一个新的空间,而是让对象或方法和之前的对象或方法,同时指向一个原有空间(即一个地址)。就如同原来一个人有家门的钥匙,之后这个人结婚了,就配了一把钥匙给自己的妻子,这时候,两个人共同有家的钥匙,但是家还是一个家。JavaScript-引用类型变量的那个坑JS基本数据类型和引用数据类型的区别 JS基本数据类型的变量存放的是基本类型数据的实际值;而引用数据类型的变量保存对它的引用,即指针。JS基本数据类型:null undefined number booleanstring比较特殊引用数据类型:function object arrayvar a=11;var b=1;b=12;console.log(a);11 a的值不会随b值得改变而改变var a=[1,2,3];var b=a;a[0]=2;console.log(b[0])/2,b的值随着a的值改变而改,因为他们指向同一个内存地址var a=[1,2,3];var b=a;b=[11,12,13];b指向了另一个内存地址,与a断开关联a[0]=2;console.log(b[0])/11,b的值不随a的值改变而改变比如说7a64e58685e5aeb931333365656531 var a=1;1是基本数据类型,因此变量a存放的就是1这个值var b=[1,2,3],[1,2,3]是引用数据类型,[1,2,3]是放在内存中的,而变量b存放的是[1,2,3]的地址,而不是[1,2,3]这个值当使用b这个变量时,js解释器会通过b存放的内存地址,找到内存中的相应地址,将其中的值取出来返回

#内存类型#内存参数#var#堆内存#引用类型

qrcode
访问手机版