我有功能:
this.addNode = function(element){
var context = this.obj.element;
return context;
}
和this.obj是一个具有一些属性的对象。当我想从变量中调用它们时,我怎样才能访问这些属性?
答案 0 :(得分:0)
我需要做一些假设,因为这个例子并不完全清楚。假设您在构造函数中有此代码,并且您想引用此对象的obj.<some-passed-name>
,那么您不能使用.
而是[]
这样
function SomeObj() {
this.obj = { a: 1, b: 2 };
this.addNode = function (element) {
var context = this.obj[element];
return context;
}
}
你可以像这样使用它
var o = new SomeObj();
o.addNode('a'); // returns 1
o.addNode('b'); // returns 2
但通常建议隐藏实现(obj
属性),如此
function SomeObj() {
var obj = { a: 1, b: 2 };
this.addNode = function (element) {
var context = obj[element]; // not using this.obj
return context;
}
}
如果将obj
作为参数传递给构造函数,则更简单:
function SomeObj(obj) {
this.addNode = function (element) {
var context = obj[element]; // not using this.obj
return context;
}
}
var o = new SomeObj({ a: 1, b: 2 });
o.addNode('a'); // returns 1
o.addNode('b'); // returns 2
我希望我猜对了。