我是编程新手,请原谅我,如果以下代码真的很蠢......
var objArray = new Array;
addObject('name',repeat);
function addObject(cName,cFunction){
objArray.push(new xCommand(cName,cFunction))
}
function xCommand(cName = 'empty',cFunction){
this.cName = cName;
this.cFunction = cFunction;
}
function repeat(args = 'no args'){
console.log(args)
(这不是我程序中的实际代码,只是一个简化的例子)
基本上我正在创建一个包含名称和另一个函数的新对象。我想稍后通过对象本身调用此函数,例如
objArray[0].cFunction(argument)
我似乎无法弄清楚如何让它正常工作。我用不同的方式重新编写了这个方法,但是在调用函数和其他随机错误之前调用函数时遇到了问题。
答案 0 :(得分:0)
你可以试试这个:
var objArray = new Array;
addObject('name',repeat);
function addObject(cName,cFunction){
objArray.push(new xCommand(cName,cFunction))
}
function xCommand(cName = 'empty',cFunction){
this.cName = cName;
this.cFunction = cFunction;
}
function repeat(args = 'no args'){
console.log(args);
}
objArray[0].cFunction('Argument here');
答案 1 :(得分:-1)
您必须在函数中返回它,例如:
function xCommand(cName = 'empty',cFunction){
var cName = cName;
var CFunction = cFunction;
return {
[cName]: CFunction
}
}