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

场景:
赋值语句中的区别
赋值语句:只传值

  1. var a = 10;
  2. var b = a;
  3. console.log(b);
  4. b = 20;
  5. console.log(a)

基本类型只传值,引用类型既传值也传址

引用:既传值也传址
1.如果是声明一个引用数据类型,那么占了两块内存空间
变量存在栈中
生成的实际对象存堆内存中
栈内存中的变量存的是一个引用(指针,地址的值),指向堆内存中的实际对象
2.发生了赋值运算 实际上将地址的值赋予了sum,那么这个指针也是指向堆内存中的同一个对象

  1. var obj ={name:"lisi"};
  2. var str = obj; //引用类型赋值计算的时候传递的是引用或者说指针
  3. console.log(str); //
  4. str.age = 18;
  5. console.log(obj);
  1. var arr = [1,2,3];
  2. var sum = arr;
  3. console.log(sum);
  4. arr.push(4);
  5. console.log(sum);