传递给另一个对象的对象的更改是否也发生在第一个对象中
Is changes of object passed to another object takes place within first object too?
function Game() {
this.player = new Component();
this.renderer = new Renderer(this.player);
}
function Renderer(player) {
this.player = player;
this.player.number = 4;
}
var game = new Game();
我可以以这种方式获得变量 (4) "数字"的值吗:game.player.number
?
回答你的问题,是的。您可以编辑对象的内容,这将反映在原始对象中,但是如果您尝试覆盖整个对象(它的引用),则无法覆盖。
您可以在此 jsfiddle 中查看示例(选择左上角的运行):https://jsfiddle.net/kcx61hye/34/
var player = {number:1};
var player2 = {number:2};
function Renderer(player) {
this.player = player;
this.player.number = 4;
}
function Renderer2(player) {
this.player=player2;
}
document.write(player.number); //Outputs 1
Renderer(player);
document.write(player.number); //Outputs 4, so object is modified
Renderer(player2);
document.write(player.number); //outputs 4, so no modification
相关文章:
- 有没有办法检查一个对象是否存在并且在一行中有一个子对象
- 如何检查一个对象是否是“;深空”;
- 如何检查一个对象是否是“;子对象“;在Javascript中
- 如何检查一个对象是否嵌套在另一个对象的属性中作为属性
- 查找一个对象是否是 javascript 中另一个对象的子集
- 有没有办法在我的单元测试中测试一个对象是否“是”Backbone.Model
- 检测画布中一个对象是否与另一个对象交叉
- Javascript 检查一个对象是否具有特定的属性值
- 如何在动画过程中检查一个对象是否正在撞击另一个对象
- 检查一个对象是否有键并且它的值不为0
- 为什么JavaScript中没有一个内置的方法来检查一个对象是否是普通对象?
- 如何确定一个对象是否属于某种类型
- 如何控制一个对象是否不应该在Javascript中创建
- 如何检查一个对象是否可以通过结构化克隆算法克隆
- 如何判断一个对象是否包含一个数组
- 如何检查一个对象是否是JavaScript中某一组原型的实例?
- 如何确定一个对象是否在一个数组中只有一个属性在javascript
- 如何判断一个对象是否是RegExp对象
- 找出一个对象是否是数组的最好方法是什么?
- 我怎样才能知道一个对象是否有内容