你们真的了解函数的传参嘛?

前言

函数传参我们天天都在用,但是你们真的了解嘛?就当你们很了解了,毕竟是一些基础的东西,我就写几个例子,不喜勿喷。

例子

demo1:

var obj = {name: 'mirok'} 
function demo1(obj) {
    obj.name = 'july'
}
demo1(obj)
console.log(obj.name)  //july,命名参数的引用和外部一致

demo2:

var obj = {name: 'mirok'} 
function demo2(obj) {
    obj.name = 'july'
    obj = new Object()
    obj.name = 'deny'
}
demo2(obj)
console.log(obj.name) //july ,参数是按值传递,但是引用指向同一堆内存

demo3:

var obj = {name: 'mirok'} 
function demo3(obj) {
    arguments[0].name = 'july'
}
demo3(obj)
console.log(obj.name) //july,arguments的修改和命名参数修改一致,但是argumetns数组由参入参数的数量决定,而不是命名参数的数量

就是引用类型值和基本类型值传值会有一点差异

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值