引用类型与基本类型

关于引用的理解

引用类型 是对 复杂数据类型而言的

有了好的想法再来添加


    下面看  代码一
    var arr = [1,2,3];
    function f1(a){
        a = [11,22,33];
    }
    console.log(arr);   //[1,2,3]
    f1(arr);
    console.log(arr);   //[1,2,3]

这里为什么没有变化呢?

function f1() { a = [11,22,33]} 是把 arr = [1,2,3];的引用的地址改变了,所以不会改变原 arr 的内容

    代码二
    var arr = [1,2,3];
    function f2(a){
        a[0] = 'a';
    }
    console.log(arr);   //[1,2,3]
    f2(arr);
    console.log(arr);   //["a",2,3]

这里为什么改变了?

function f1 () { a[0] = 'a'} 是是把arr = [1,2,3]的引用复制给了a,然后又在引用的对象里做了修改

现在就好比两个人都有了 一个房间的钥匙 一个人进去 把沙发 挪动了,另一个人进来时 沙发是挪动后的位置 也就是对象内容被改变了

    代码三
    var num = 1;
    function f3(a){
        a = 3;
    }
    console.log(num);   // 1
    f3(num);
    console.log(num);   // 1

这里也没有变化!为什么呢?

因为引用类型是 针对复杂的数据类型而言的 比如对象类型的数据

数字是基本类型 不存在什么引用 函数内部变量 由形参拷贝 外部变量 进去 改变赋值 但外部变量并没有改变

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

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,769评论 18 399
  • 引用类型有哪些?非引用类型有哪些? JS中的数据类型分为基本类型和引用类型。基本类型:数值(number)、字符串...
    LeeoZz阅读 275评论 0 0
  • 《ilua》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 1...
    叶染柒丶阅读 11,010评论 0 11
  • [日就月将]2017-4-10周一学习力践行D26天。 1.古诗,带阳阳出去,看到了燕子飞,就把《绝句》背诵了几遍...
    wxgcgb阅读 547评论 0 0
  • 经历了那么多的纠结,终于下决心说再见。说再见,却是不会再渴望相见。就好像从来没有发生过一样,任由往事沉寂心底,...
    蓝云彩阅读 309评论 0 0