-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