JS 值传递与引用传递

本文深入探讨了编程中的值传递和引用传递概念,通过代码示例阐述了两者之间的区别。值传递在函数调用时复制参数,而引用传递允许直接修改原始数据。文章还讨论了引用变量赋值时的对象共享现象,并提供了具体的控制台输出和图形解释。
摘要由CSDN通过智能技术生成

记录。根据代码说明。

  • 【值传递】是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。

  • 【引用传递】是指在调用函数时将实际参数的地址直接传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。

关于引用变量赋值问题

  • 2个引用变量指向同一个对象,通过一个变量修改对象内部数据,另一个变量看到的是修改之后的数据。(n个中也适用)
  • 2个引用变量指向同一个对象,让其中一个变量指向另一个对象,另一个引用变量依然指向前一个对象。(n个中也适用)

代码如下:

值传递示例代码
obj1和obj2指向的是同一个对象。

引用传递示例代码
刚开始a,b指向同一个对象,对a重新赋值以后,a与b指向的不再是同一个对象。

fn2的定义及调用:

  1. 先将a中的地址值传递给了obj
  2. 对obj进行了新的赋值,此时obj指向另一个对象
  3. 但a没有发生变化

控制台输出如下:

控制台输出

画图演示如下:

画图演示

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值