变量复制

在变量复制方面,基本类型和引用类型也有所不同,基本类型复制的是值本身,而引用类型复制的是地址

1、基本类型:Undefined、Null、String、Number、Boolean、Symbol

    基本类型的变量是存放在栈(Stack)内存里【基本类型的值是按值访问的】

     var a = true

      b = a

      b = false     //a=true  b false  复制的是值本身


2、引用类型(统称Object类型)细分为Object类型、Array类型、Date类型、RegExp类型、Function类型

    引用类型的值是保存在堆内存中的对象【引用类型是按引用访问的】

    var obj1 = {};

    var obj2 = {};

    console.log(obj1 == obj2);// false

    console.log(obj1 === obj2);// false

    var s = {a: 'aaa'}

    var ss = s

    ss.a = 'ssss'

    console.log(s)   //ssss

    console.log(ss)  //ssss

    注:obj1 和 obj2 分别引用的是存放在堆内存中的2个不同的对象, obj1 和 obj2 的值(引用地址)不一样


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容