2个不同的实例保持相同的值

SiteXw

当我实例化一个类2次时,我遇到了一个问题。第二个实例仅在有对象的情况下保留第一个实例的参数。

这是一个简单的示例:

var Test = function() {};
Test.prototype = {
	bonjour: null,
	hello: {
		hum: null,
		ya: null,
	},
};

var testA = new Test();
testA.bonjour = 'Aaa';
testA.hello.hum = 'Bbb';
// return "Aaa"
console.log(testA.bonjour);
// return "{ hum: 'Bbb', ya: null }"
console.log(testA.hello);

console.log('');

var testB = new Test();
// return "null" -> ok
console.log(testB.bonjour);
// return "{ hum: 'Bbb', ya: null }" -> wtf ?!
console.log(testB.hello);

有谁知道为什么吗?谢谢你。

尖尖的

原型上“ hello”属性的值是对对象的引用。每个构造的实例都可以访问该引用,但是只涉及一个对象。因此,通过一个实例对该对象所做的更改将对所有其他实例可见。

您可以通过添加

console.log(testA.hello === testB.hello); // will log "true"

如果希望每个实例都有自己的“ hello”对象,则必须在构造函数中分配属性。

var Test = function() {
    this.hello = { hum: null, ya: null };
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

2个不同的实例保持相同的值

来自分类Dev

如何使String变量保持2个不同数组的值?

来自分类Dev

比较VBA时2个文件中的相同值不同

来自分类Dev

伪模拟数据2个不同属性的相同值

来自分类Dev

根据不同的键但相同的值合并 2 个对象数组

来自分类Dev

如何使用相同的Git项目和不同的分支打开2个Visual Studio实例

来自分类Dev

Mysql将来自2个表的相同值作为2个不同的计数

来自分类Dev

Mysql从2个表中计数相同的值作为2个不同的计数

来自分类Dev

MYSQL从不同的行中选择2个具有相同值的不同字段

来自分类Dev

从2个不同的表中选择值,并在具有相同ID的行中打印值

来自分类Dev

从2个不同的表中选择值,并在具有相同ID的行中打印值

来自分类Dev

为什么两个不同实例的 isa 指针相同?

来自分类Dev

如何配置 spring-data-mongodb 以使用共享相同文档模型的 2 个不同 mongo 实例

来自分类Dev

Linq:查找具有不同值但索引相同的2个列表的元素

来自分类Dev

如何比较具有相同键但值不同的2个数组的PHP

来自分类Dev

子查询为2个几乎相同的查询返回不同的值

来自分类Dev

识别2个不同列中具有相同值的行

来自分类Dev

如何将相同的数组值分配给2个不同的变量

来自分类Dev

在2个不同的列中获取匹配相同值的所有行

来自分类Dev

无法从具有相同类的2个div中获得不同的值

来自分类Dev

PHP检查2个数组是否包含相同的值但顺序不同

来自分类Dev

Android JNI C ++代码始终为2个不同的SurfaceView对象获取“相同”的jobject值

来自分类Dev

在Python中组合具有相同键但不同值的2个字典

来自分类Dev

即使再次满足相同条件也保持一个值

来自分类Dev

两个Arduino类实例返回相同的值

来自分类Dev

如果两个属性具有相同的属性,如何在两个不同类的实例之间自动映射值?

来自分类Dev

我怎样才能最好地删除分组为一个值的具有不同值的行,但是即使它多次出现在一个值中,也要保持相同的值

来自分类Dev

JavaScript:如何合并2个数组并保持相同的索引

来自分类Dev

将影片剪辑替换为另一个影片剪辑,并保持相同的实例名称

Related 相关文章

  1. 1

    2个不同的实例保持相同的值

  2. 2

    如何使String变量保持2个不同数组的值?

  3. 3

    比较VBA时2个文件中的相同值不同

  4. 4

    伪模拟数据2个不同属性的相同值

  5. 5

    根据不同的键但相同的值合并 2 个对象数组

  6. 6

    如何使用相同的Git项目和不同的分支打开2个Visual Studio实例

  7. 7

    Mysql将来自2个表的相同值作为2个不同的计数

  8. 8

    Mysql从2个表中计数相同的值作为2个不同的计数

  9. 9

    MYSQL从不同的行中选择2个具有相同值的不同字段

  10. 10

    从2个不同的表中选择值,并在具有相同ID的行中打印值

  11. 11

    从2个不同的表中选择值,并在具有相同ID的行中打印值

  12. 12

    为什么两个不同实例的 isa 指针相同?

  13. 13

    如何配置 spring-data-mongodb 以使用共享相同文档模型的 2 个不同 mongo 实例

  14. 14

    Linq:查找具有不同值但索引相同的2个列表的元素

  15. 15

    如何比较具有相同键但值不同的2个数组的PHP

  16. 16

    子查询为2个几乎相同的查询返回不同的值

  17. 17

    识别2个不同列中具有相同值的行

  18. 18

    如何将相同的数组值分配给2个不同的变量

  19. 19

    在2个不同的列中获取匹配相同值的所有行

  20. 20

    无法从具有相同类的2个div中获得不同的值

  21. 21

    PHP检查2个数组是否包含相同的值但顺序不同

  22. 22

    Android JNI C ++代码始终为2个不同的SurfaceView对象获取“相同”的jobject值

  23. 23

    在Python中组合具有相同键但不同值的2个字典

  24. 24

    即使再次满足相同条件也保持一个值

  25. 25

    两个Arduino类实例返回相同的值

  26. 26

    如果两个属性具有相同的属性,如何在两个不同类的实例之间自动映射值?

  27. 27

    我怎样才能最好地删除分组为一个值的具有不同值的行,但是即使它多次出现在一个值中,也要保持相同的值

  28. 28

    JavaScript:如何合并2个数组并保持相同的索引

  29. 29

    将影片剪辑替换为另一个影片剪辑,并保持相同的实例名称

热门标签

归档