如何从对象中引用字段
How to reference a field from within an object
我正在尝试从另一个字段中的函数内寻址 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
元素bar
?
编辑:
我正在尝试引用一个不在同一个对象上但更高的字段。所以这与链接的问题不同。
您可以尝试使用模块模式来存储对更高层属性的引用,如下所示:
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"]
我正在尝试从另一个字段中的函数内寻址 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
元素bar
?
编辑:
我正在尝试引用一个不在同一个对象上但更高的字段。所以这与链接的问题不同。
您可以尝试使用模块模式来存储对更高层属性的引用,如下所示:
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"]