javascript的参数传递

本文深入探讨JavaScript中对象属性传递的两种方式:按值传递和按引用传递,并通过实例展示了它们的区别。从代码实现到运行结果分析,帮助开发者更好地理解JavaScript对象操作的底层原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//一直以为js中有两种传递方式:按值传递,和按引用传递;看到有的说js只有一种传递方式按值传递;
//自己虽然之前有使用但是一直没有细化;今天群里回答被打脸了特意细化了一下;
var obj = {"a":"b"};
function change(obj){
    return obj.a =  "c";
    //将obj传递进来,类似于 obj.a = "c"; retrun obj;
}
change(obj);
consonle.log(obj); => {a:"c"};
function transfrom(obj){
    return obj = {"a":"e"};
    //这里改变了对象的指针;但是只有在此函数内生效;外部obj的指向没有改变;很类似于
    //var  a = 1;
    //function alter(a){
    //   var  a = 2;
    //   return a;
    //}
}
console.log(obj); => {a:'c'};
function alter(value){
    return value =  "d";
    //类似于 var value = obj.a;
    //然后将value传递进来;和obj已经没有关系;
}
}
alter(obj.a);
console.log(obj); => {a:"c"};

 

转载于:https://www.cnblogs.com/clearfix/p/4152864.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值