Ich glaube nicht, dass Sie komplizierte Zwischenfunktionen oder eval brauchen oder von globalen Variablen wie window abhängig sind:
function fun1(arg) {
console.log(arg);
}
function fun2(arg) {
console.log(arg);
}
const operations = {
fun1,
fun2
};
operations["fun1"]("Hello World");
operations.fun2("Hello World");
// You can use intermediate variables, if you like
let temp = "fun1";
operations[temp]("Hello World");
Es funktioniert auch mit importierten Funktionen:
// mode.js
export function fun1(arg) {
console.log(arg);
}
export function fun2(arg) {
console.log(arg);
}
// index.js
import { fun1, fun2 } from "./mod";
const operations = {
fun1,
fun2
};
operations["fun1"]("Hello World");
operations["fun2"]("Hello World");
Da der Zugriff auf die Eigenschaften erfolgt, übersteht er im Gegensatz zu einigen Antworten, die Sie hier finden, eine Minimierung oder Verschleierung.