-1
我想要一个包含其他对象数组并且能够调用其方法的Javascript对象obj。我还希望任何对象能够通过调用对象obj的特殊函数并将其自身的引用作为参数来注册到数组中。将对象存储在数组中并使用Javascript调用它们的方法
请问有人会那么善良,请帮助我吗?我一直都很难过。
此外,我想到了一个简单的解决方案,其中obj对象创建所有其他对象,但似乎并没有工作,以及...的
我想要一个包含其他对象数组并且能够调用其方法的Javascript对象obj。我还希望任何对象能够通过调用对象obj的特殊函数并将其自身的引用作为参数来注册到数组中。将对象存储在数组中并使用Javascript调用它们的方法
请问有人会那么善良,请帮助我吗?我一直都很难过。
此外,我想到了一个简单的解决方案,其中obj对象创建所有其他对象,但似乎并没有工作,以及...的
也许你的意思是这样
function Invoker(arr) {
arr = arr.slice();
arr.invoke = function (methodName) {
var args = Array.prototype.slice.call(arguments, 1),
i;
for (i = 0; i < this.length; ++i)
if (methodName in this[i])
this[i][methodName].apply(this[i], args);
};
return arr;
}
var arr = [
{foo: function (a, b) {console.log('foo', a);}},
{foo: function (a, b) {console.log('bar', b);}}
];
var invkr = Invoker(arr);
invkr.invoke('foo', 'hello', 'world');
/*
foo hello
bar world
*/
灿你添加了一些代码来显示你到目前为止尝试了什么?那它不起作用呢? – elevine