基本数据类型和引用数据类型之间的区别
场景:
赋值语句中的区别
赋值语句:只传值
var a = 10;
var b = a;
console.log(b);
b = 20;
console.log(a)
基本类型只传值,引用类型既传值也传址
引用:既传值也传址
1.如果是声明一个引用数据类型,那么占了两块内存空间
变量存在栈中
生成的实际对象存堆内存中
栈内存中的变量存的是一个引用(指针,地址的值),指向堆内存中的实际对象
2.发生了赋值运算 实际上将地址的值赋予了sum,那么这个指针也是指向堆内存中的同一个对象
var obj ={name:"lisi"};
var str = obj; //引用类型赋值计算的时候传递的是引用或者说指针
console.log(str); //
str.age = 18;
console.log(obj);
var arr = [1,2,3];
var sum = arr;
console.log(sum);
arr.push(4);
console.log(sum);