You can use eval()
method to invoke a JavaScript function whose name is stored in a string variable but there’s a better method that doesn’t require eval.
Let’s say we have a function helloWorld(e) that takes variable and prints it.
function helloWorld(e) {
e = e || 'Anonymous';
console.log('Hello ' + e);
return;
}
We declare a variable that has the function name and another variable that stores the arguments.
// Function name to invoke
var fnName = 'helloWorld';
// Params to pass to the function
var params = 'ctrlq.org';
// Call function using Window object
window[fnName](params);
This can be useful for invoking Google Apps Script functions as well. However, since it is server-side code and not a web browser environment, we use this to refer to the object that contains it.
this[fnName](params);