JavaScript进阶之:七、值类型和引用类型在函数中的使用

  • 函数的参数:

    • 形式参数(形参):在函数声明的时候,写在()中的变量,形参在函数内部作为局部变量使用,形参用来占位
    • 实际参数(实参):在函数调用的时候,写在()中的变量(对象)
  • 函数的调用:

    • 内部会把实参赋值给形参
    • 实参可能是值类型的也可能是引用类型的
  • 值类型的数据作为函数的参数:

    • 在函数内部修改了形参的值(a),对函数外部的实参不会产生影响,他们是相互独立的。
  • 引用类型的数据作为函数的参数:

    • 在函数内部修改了形参的值(paramObj),对函数外部的实参会产生影响,因为他们共享内存中的同一块数据
  • 示例代码:

<script>
    var num = 10;
    function func(a) {
        console.log(a); //10
        a = 20;
        console.log(a); //20
    }
    func(num);
    console.log(num);   //10

    var obj = {
        name:"张三"
    }

    function foo(paramObj) {
        //obj 和 paramObj 共享同一块内存中的数据
        console.log(paramObj.name);   //张三
        paramObj.name = "李老汉";
        console.log(paramObj.name);   //李老汉
      
        //paramObj 通过字面量重新开辟了一块内存空间,切断了与obj的联系,不再共享同一块内存空间的数据
        paramObj = {
            name:"老王"
        }
        console.log(paramObj.name);   //老王
    }
    foo(obj);
    console.log(obj.name);            //李老汉
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容