• 场景:赋值语句中的区别

    2-1-1 基本类型:只传值

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

    2-1-2 引用类型:既传值也传址

    ``` // 过程 1.如果声明一个引用数据类型,那么占了两块内存空间 变量存在栈中 生成的实际对象存在堆内存中 栈内存中的变量存的是一个引用(指针,地址的值),指向堆内存中的实际对象

2.发生了赋值运算,实际上将地址的值赋予了sum, 那么这个指针也是指向堆内存中的同一个对象

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

image.png