给定一个 JS 文字对象,例如:
var foo = {
_stuff : {
a:10,
b:20,
c:30,
state
}
}
和文字功能
addAB: function() {
add(foo._stuff[a], foo._stuff[b]);
}
addAC: function() {
add(foo._stuff[a], foo._stuff[c]);
}
add: function(bar, baz) {
foo._stuff[bar] += foo._stuff[baz];
state(foo._stuff[bar]);
}
state: function(value) {
foo.state[value] = .... something complex ....
}
如何一次性获得以下内容?
add(AB); foo._stuff[a] should be 30, foo.state[foo._stuff[a]] is something new
add(AC); foo._stuff[a] should be 40, foo.state[foo._stuff[a]] is something new
正如 add() 将尝试查找 foo._stuff[10] 显然不会做我想要的。
是的,我知道 addAB() 和 addAC() 存在冗余,但这是我无法控制的。