朝阳港网站建设方案,网站建设与管理期末总结,oppo软件商店手机版,wordpress随机图片JavaScript 中的数据按存储方式的不同#xff0c;分为值类型和引用类型。
值类型#xff08;共 6 种#xff09;#xff1a;赋值的时候传值 —— 数字、字符串、布尔值、null 、undefined#xff0c;Symbol引用类型#xff08;仅 1 种#xff09;#xff1a;赋值的时候…JavaScript 中的数据按存储方式的不同分为值类型和引用类型。
值类型共 6 种赋值的时候传值 —— 数字、字符串、布尔值、null 、undefinedSymbol引用类型仅 1 种赋值的时候传引用的地址—— 对象 Object
声明变量后js引擎会在栈内存中开辟一个以该变量命名的存储空间若未赋值则该空间内存的值类型的数据 undefined。 变量赋值时若数据为值类型则会将数据的值存入该变量命名的空间。即变量中存的数据的值 存有值类型数据的变量赋值给另一个变量时会将数据的值复制一份存入新变量命名的空间中两个变量内存储的数据相互独立互不影响改变A变量的值B变量的值不会发生改变 变量赋值时若数据为引用类型则会先将引用类型的数据保存在堆内存中再将该数据在堆内存中存储的地址存入该变量命名的空间。即变量中存的是数据的引用地址 存有引用类型数据的变量赋值给另一个变量时会将数据的引用地址复制一份存入新变量命名的空间中浅拷贝两个变量实际指向的是同一份数据相互影响改变A变量的值B变量的值也会同步改变
之所以这样设计是因为引用类型的数据通常较大拷贝时需要花费更多的时间和空间引用类型浅拷贝的设计提升了数据的拷贝速度和内存空间的使用效率从而表现出了更佳的性能。