关于基本数据类型和基本数据类型的原理和区别

Posted 明明一颗大白菜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于基本数据类型和基本数据类型的原理和区别相关的知识,希望对你有一定的参考价值。

一:基本数据类型:

一般由单一数据组成,不会太复杂,传递的是值value,完全在栈里面进行的操作,不涉及到堆,只有赋值

代码实例如下:

 

var i = 10;
var m = i;
var m = 16;
console.log(i);

 



此时打印的i是10,在这里只是把i的值(10)赋给了m,但是在代码第三行的时候又进行了对m的赋值运算,但是此时并
不影响i,两个是独立存在的,所以结果是10;

二:引用数据类型:
多为数组和对象等复杂的数据类型,传递的是地址,多个地址指向堆里的同一组数据,一个地址进行赋值改变,也会影响另一个地址数据的改变

代码示例如下:
var arr = [1,2,3,4,5];
var arr1 = arr;
arr1[0] = 10;
console.log(arr[0]);

 



此时打印出来的结果是10,arr和arr1存放在了栈里面,但是它们都指向了堆里面的同一组数据,即[1,2,3,4,5],当arr1[0]赋值为10的时候,堆里面的
数据就变为了[10,2,3,4,5],由于两个地址用的一组数据,故arr的数据也跟着发生了变化

原理如下图所示:


 

 

以上是关于关于基本数据类型和基本数据类型的原理和区别的主要内容,如果未能解决你的问题,请参考以下文章

Vue3 ref和reactive的使用和区别以及响应式原理

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

谁知道五种动态磁盘类型区别和工作原理 谢谢

基本数据类型和引用数据类型的区别是啥

JavaScript中基本数据类型和引用数据类型的区别

js中基本数据类型和引用数据类型的区别