在具有参数的对象中调用函数

时间:2017-12-15 12:07:08

标签: javascript node.js

我是编程新手,请原谅我,如果以下代码真的很蠢......

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)

我似乎无法弄清楚如何让它正常工作。我用不同的方式重新编写了这个方法,但是在调用函数和其他随机错误之前调用函数时遇到了问题。

2 个答案:

答案 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
    }
}