Home  >  Article  >  Web Front-end  >  How to call a function from a function name stored in a string using JavaScript?

How to call a function from a function name stored in a string using JavaScript?

王林
王林forward
2023-08-27 09:09:111090browse

如何使用 JavaScript 从存储在字符串中的函数名称调用函数?

We will use the eval() function to call a function from its name stored in a string. Evaluate() Function evaluates a string into JavaScript code. This allows us to call the function via Pass a string containing its name as an argument to the eval() function.

Example

This is a complete working example of how to use JavaScript to call a function from its name stored in a string -

// Define the function that we want to call
function sayHello() {
   console.log("Hello, world!");
}

// Store the function name as a string
let functionName = "sayHello";

// Use the `eval()` function to convert the string to a function call
eval(functionName + "()");
  • In the above example, we first define a simple function called sayHello(), which only logs "Hello, world!" to the console. Next, we define a variable called functionName that stores the string "sayHello", which is the name of the function we want to call.

  • Finally, we use the eval() function to convert the string functionName into a function call by concatenating it with the brackets () required to actually call the function.

  • The eval() function is a powerful but potentially dangerous feature of JavaScript that allows you to evaluate strings just like JavaScript code. Using eval() in production code is generally not recommended because it can be used to execute arbitrary code, which can be a security risk.

alternative method

It's worth mentioning that there are safer ways to call functions from function names stored in strings without using eval, such as -

let functionName = "sayHello";
let functionObj = window[functionName];
functionObj();

or

let functionName = "sayHello";
let functionObj = window['sayHello'];
functionObj();

These alternatives are safer than using eval because they do not execute arbitrary code but refer to the function directly by name.

The above is the detailed content of How to call a function from a function name stored in a string using JavaScript?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete