次のような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 ....
}
1回のパスで次のものを取得するにはどうすればよいですか?
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()に冗長性があることは知っていますが、それは私の制御の及ばないものです。