我是Javascript的全新手,所以我不知道它的功能。任何帮助将非常感激!
正如标题所示,我试图从函数中传递一个参数来命名其中的另一个函数。下面的方法由于显而易见的原因不起作用,但我认为它传达了我尝试做的事情。函数名称需要对我正在进行的项目非常具体。
function mainFunc(param1) {
function param1() {}
}

谢谢!
编辑:我们将开始使用的软件在我的工作中无纸化使用javascript脚本引擎。为了让我做一些简单的事情,比如:
如果选中A部分中的至少一个复选框,则必须至少检查B部分中的一个复选框。
由于软件的工作方式,我必须为表单上的每个复选框字段编写一个函数,函数名必须特定于我们通过GUI分配给复选框的名称。我希望编写一个函数来编写具有特定名称的另一个函数,并调用所述函数。
function mainFunc(funcName) {
function 'funcName'() {
//do stuff;
}
'funcName'()
}
mainFunc('Checkbox1')

也许这有助于澄清我尝试做的事情。很抱歉第一次不清楚。
答案 0 :(得分:0)
您有很多选择来解决您的问题
一个选项是返回一个对象,其中的函数使用传递给 mainFun 的参数命名,请看下面的示例
function mainFunc(param1,param2) {
return {
[param1]:function () {
console.log(" I am function from " + param1)
},
[param2] : function () {
console.log("I am function from " + param2) ;
}
}
}
let hello = 'hello' ;
let greet = 'anything' ;
let functions = mainFunc(hello,greet);
functions['hello']();
functions['anything']();
functions[hello]();
functions[greet]();

如果 mainFun 有很多参数,你也可以使用参数对象解决它,如下例所示
function mainFun(par1) {
let myObj = {};
for(let i = 0 ; i<arguments.length;i++){
console.log(arguments[i]);
myObj[arguments[i]] = ()=> {
console.log('You call me from ' + arguments[i]);
}
}
return myObj ;
}
let functions = mainFun('a','b','c','d');
functions['a']();
functions['b']();
functions['c']();
functions['d']();
&#13;