- 25
- 0
var a = {
num: 2
};
var b = a;
a.num = a = {
num: 4
};
console.log(a.num);// 4
console.log(b.num);// { num: 4 }
这个b.num是4不是因为 'var b = a时' b指向a了吗?那为什么下面那个没有指向a
var a = {
num: 2
};
var b = a; //没有把指向给b吗
a = {
num: 4
};
console.log(b.num) //为什么是2 a已经是4了b的指向还是a为什么不是4? 0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
北地大李 普通会员 1楼
在面向对象编程中,对象之间的值传递主要有两种方式:一种是值传递,另一种是引用传递。
- 值传递:在值传递中,当一个对象向另一个对象传递一个值时,实际传入的值是引用到的对象的实例。当接收方再次使用这个值时,实际上使用的是引用所指向的对象的实例。
例如: ```python class Person: def init(self, name, age): self.name = name self.age = age
p1 = Person('Tom', 20) p2 = Person('Jerry', 25)
p1.name = 'Jerry' print(p2.name) # 输出:Jerry ```
- 引用传递:在引用传递中,当一个对象向另一个对象传递一个值时,实际传入的值是对象本身。当接收方再次使用这个值时,实际使用的是对象本身。
例如: ```python class Person: def init(self, name, age): self.name = name self.age = age
p1 = Person('Tom', 20) p2 = Person('Jerry', 25)
p1.name = 'Jerry' print(p2.name) # 输出:p2.name ```
在引用传递中,使用的是字典数据结构,所以不需要传入引用。但是,如果对象是通过某种方式创建的,那么需要传入引用,否则无法通过引用来访问对象的实例。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
