我有一个对象,每次函数运行时我都想切换里面的项目的值。如果我将完整路径缓存在 var 中,它就不起作用,只有当我省略该项目并缓存没有它的路径时,它才会按我的预期工作。
var foo1 = function (identifier) { // Does not work
var counting = some.object.with[identifier].counting;
counting = (!counting) ? "bar" : false; // Switch values
};
var foo2 = function (identifier) { // Work!
var identifier = some.object.with[identifier];
identifier.counting = (!identifier.counting) ? "bar" : false;
};
有什么想法吗?
最佳答案
在示例一中,您将原始属性存储在变量中,然后仅替换该局部变量的值。
在示例二中,您将存储对对象的引用,然后更新该对象的属性。
关于javascript - 缓存对象项的完整路径然后使用它进行分配不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33108498/