JavaScript高级 面向对象(6)--值类型与引用类型的存储特征

时间:2022-09-19 23:49:11

说明(2017.3.31):

1. 画图:

  var num = 123;

  var num2 = num;

 值类型赋值的存储特点:将变量num内的数据全部拷贝一份,存储给新的变量num2,内存中有2个数据。

JavaScript高级 面向对象(6)--值类型与引用类型的存储特征

2. 画图:

    var o = {name: "张三"};

    var obj = o;

 引用类型赋值的特点:将变量o的引用(地址)拷贝一份,所以新的变量obj也指向了这个对象{name: "张三"},内存中只有一个数据。

 但是这样有个问题,如果修改了obj里的name属性,会影响到o里面的内容。就需要引出深拷贝和浅拷贝的问题。

JavaScript高级 面向对象(6)--值类型与引用类型的存储特征