Javascript 如何动态创建和传递对象

Javascript 如何动态创建和传递对象,javascript,Javascript,我正在尝试动态地添加和调用函数。下面是代码 field=[]; 函数fileIt(thing){ //动态调用任何类型的file方法 事物; //标记为存档 推(东西); } 函数repType1(名称){ this.name=名称; } repType1.prototype.addIt=函数(){ //业务逻辑将放在这里 console.log(“Heloo From repType1”); } 函数repType2(名称){ this.name=名称; } repType2.prototy

我正在尝试动态地添加和调用函数。下面是代码

field=[];
函数fileIt(thing){
//动态调用任何类型的file方法
事物;
//标记为存档
推(东西);
}
函数repType1(名称){
this.name=名称;
}
repType1.prototype.addIt=函数(){
//业务逻辑将放在这里
console.log(“Heloo From repType1”);
}
函数repType2(名称){
this.name=名称;
}
repType2.prototype.addIt=函数(){
//业务逻辑将放在这里
console.log(“Heloo From repType2”);
}
设rep1=新的repType1(“repType1”);

fileIt(rep1)如果我正确理解您的意思,您似乎正在尝试变异对象以执行以下操作:

const-field=[];
函数fileIt(thing){
//动态调用任何类型的file方法
事物;
//标记为存档
推(东西);
}
类RepType{
addItrepType1(){
//业务逻辑将放在这里
log('Heloo From repType1');
}
addItrepType2(){
//业务逻辑将放在这里
log('Heloo From repType2');
}
构造函数(类型){
//根据类型设置功能
this.addIt=this[`addIt${type}`];
this.name=名称;
}
}
const rep1=新的RepType('repType1');
const rep2=新的RepType('repType2');
fileIt(rep1);
fileIt(rep2)另一种可能的方法

field=[];
函数fileIt(thing){
//动态调用任何类型的file方法
事物;
//标记为存档
推(东西);
}
函数RepType(){
RepType.types={repType1,repType2};
this.addIt=函数(){
};
RepType.of=函数(类型){
返回新的(this.types[type])();
};
}
函数repType1(名称){
this.name=名称;
}
repType1.prototype=新的RepType();
repType1.prototype.addIt=函数(){
//业务逻辑将放在这里
console.log(“Heloo From repType1”);
};
函数repType2(名称){
this.name=名称;
}
repType2.prototype=新的RepType();
repType2.prototype.addIt=函数(){
//业务逻辑将放在这里
console.log(“Heloo From repType2”);
};
设rep1=RepType.of(“repType1”);

fileIt(rep1)
那么您想动态地将
添加到给定对象吗?还是什么?@Adriani6是的,我想通过动态创建对象而不是静态键入来调用
repType1
repType2
,比如
let rep1=new repType1(“repType1”)。只需传递来自字符串的值并相应地从
repType1
repType2
@Lara调用
addIt
,就必须存储函数引用。更新了这些伟大的方法