javascript - 缓存对象项的完整路径然后使用它进行分配不起作用

标签 javascript variables object caching

我有一个对象,每次函数运行时我都想切换里面的项目的值。如果我将完整路径缓存在 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/

相关文章:

javascript - 在 HTML 中格式化 SPARQL 查询时的 JSON 和 JavaScript 集成

如果没有选中复选框,JavaScript 将在点击事件上发出警报

c++ - 什么时候引用变量合适,为什么?你能解释一下实际的语法和位置吗?

java - 我的值一直显示为 NaN

javascript - 如果对象中的任何 prop 的值具有特定的子字符串,则循环遍历对象数组。将该对象推送到新数组中

javascript - 如何在javascript对象中调用方法

javascript - Protractor if (checkbox.isSelected()) 错误?

javascript - 一行上有多个变量,后面有相同的 =

java - 按对象中的不同参数对 ArrayList 进行排序

javascript - 根据条件检索Google表格中的选择性行