我正试图在另一个字段中的函数内解决javascript中的对象字段,如下所示:
var binds = {};
var name = 'hi';
binds[name] = {
foo: [],
bar: {
add: function (e) { foo.push (e); }
}
}
我尝试this.foo.push (e)
并将函数与.bind (binds[name])
和.bind (this)
绑定,但这些都没有效果,如何使用{{{}中的函数引用foo
元素1}}?
编辑:
我正在尝试引用一个不在同一个对象上但更高的字段。所以这与链接的问题不同。
答案 0 :(得分:0)
您可以使用模块模式来存储对更高级别属性的引用,如下所示:
var binds = {};
var name = 'hi';
binds[name] = (function() {
var arr = [];
return {
foo: arr,
bar: {
add: function(e) {
arr.push(e);
}
}
}
})();
binds[name].bar.add('test');
console.log(binds[name].foo); //logs ["test"]