javascript - 设置对对象属性的引用

标签 javascript

我有一个对象数组,我想设置和重置对其中一个对象的属性的引用。假设我有以下内容:

var TheReference = null;
var TheArrayOfObjects = [];
var TheObject = {};

TheObject.SomeProp1 = "test1";
TheObject.SomeProp2 = "test2";

TheArrayOfObjects.push(TheObject); // this array could contain hundreds of objects

TheReference = TheObject.SomeProp1; // here I know it's not a reference.
TheReference = "update"; // so of course it doesn't update the object's property

我的目标是存储对对象属性的引用,然后通过访问该引用来更新该属性。如果我有 TheReference = TheObject 那么这将允许我到达该特定对象,但我希望访问该对象的属性,以便我可以编写 TheReference = "update" 并且该值在对象的属性中更新。有什么方法可以存储对对象属性的引用?

最佳答案

只有当对象属性本身是“真实”对象时,您才能存储对该属性的引用。上面的代码将无法按照您的要求工作,因为您正在尝试引用字符串,但这将:

var TheReference = null;
var TheArrayOfObjects = [];
var TheObject = {};

TheObject.SomeProp1 = {p1: "test1", p2: "test2"};
TheObject.SomeProp2 = {p3: "test3", p4: "test4"};

TheArrayOfObjects.push(TheObject); // this array could contain hundreds of objects

TheReference = TheObject.SomeProp1; // here I know it's not a reference.
alert(TheReference.p1); // will show 'test1'

关于javascript - 设置对对象属性的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33418136/

相关文章:

javascript - 如何在不添加随机数的情况下阻止css缓存?

javascript - 如何使用 jQuery 更改图像源并以一些不错的效果加载它

javascript - 全元素视频全屏

javascript - 使用下划线组合两个对象数组

javascript - javascript onchange 中的代码与函数中的相同代码有什么区别?

javascript - 从父元素中删除一个元素并将其附加到其他元素

javascript - 确保元素保持指定的纵横比

javascript - ngx-translate 和 ngx-i18next 有什么区别

javascript - 在 gulp-watch 上运行可执行文件

javascript - html/javascript Canvas drawImage无需2次加载