引用类型

  • 基础类型有哪些?复杂类型有哪些?有什么特征?
    当我们讨论数据类型的时候,有六种数据类型,分别是String、Number、Boolean、Null、Undefined、Object,其中除了Object,其余的五种都是基本数据类型,而Object是复杂数据类型。


    引用类型_第1张图片
    2016-08-16_232303.png

    当我们讨论变量的值的时候,ECMAscript的变量可能包含两种不同类型的值:基本类型值和引用类型值。其中基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象


    引用类型_第2张图片
    2016-08-16_233706.png

    基本类型的值和引用类型的值的区别
    • 访问方式,基本类型的值可以直接在内存里操作,而引用类型的值不能在内存中访问到,操作的是对引用类型的值的引用
    • 复制变量值,基本类型的值是创建一个没有关联的副本,而引用类型的值是创建一个引用,任何一个变量修改都会引起其他变量的变化
 var obj1={
    name: 'gqc'
 }
    ,obj2=obj1;
obj2.name='jrg';
console.log(obj1.name)//"jrg"
  • 如下代码的输出? 为什么?
var obj1 = {a:1, b:2};
var obj2 = {a:1, b:2};
console.log(obj1 == obj2);//false,因为引用的是不同的对象
console.log(obj1 = obj2);
console.log(obj1 == obj2);//true,引用的都是obj2的对象

你可能感兴趣的:(引用类型)