javascript将对象方法传递给不同的对象方法
我有一个 bar
类型的对象,它有一个由许多 foo
组成的数组。
我希望能够动态调用 foo
的方法 - 我可以通过传递字符串来使用 eval
来完成此操作,但我宁愿了解如何传递功能。
从概念上讲,我这样做的方式正确吗?
var foo = function() {
this.methodA = function() {
return "a";
};
this.methodB = function() {
return "b";
};
};
var bar = function() {
var foos = [];
this.construct = function() {
foos[0] = new foo();
}; this.construct();
this.callFoo = function(f) {
return foos[0].f();
};
};
b = new bar();
b.callFoo(foo.methodA); //<-- This doesn't work
b.callFoo(methodA); //<-- Or this
I have an object of type bar
which has an Array of many foo
s.
I want to be able to call a method of foo
dynamically - I could do this with eval
by passing a string, but I would rather get a handle on how to pass the function.
Am I - conceptually - doing this the right way?
var foo = function() {
this.methodA = function() {
return "a";
};
this.methodB = function() {
return "b";
};
};
var bar = function() {
var foos = [];
this.construct = function() {
foos[0] = new foo();
}; this.construct();
this.callFoo = function(f) {
return foos[0].f();
};
};
b = new bar();
b.callFoo(foo.methodA); //<-- This doesn't work
b.callFoo(methodA); //<-- Or this
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你到处泄漏的全局变量。
要回答实际问题,请尝试这样做。
your leaking globals everywhere.
To answer the actual question try this.
试试这个:
try this: