Лекция
В JavaScript вы можете вызывать функцию по ее имени, даже если это имя представлено в виде строки. Есть несколько способов добиться этого, но один из распространенных — использование глобального объекта (например, window
в браузерах или global
в Node.js). Вот как это сделать:
Способ 1: Использование глобального объекта (для функций, определенных в глобальной области):
function myFunction() {
console.log("Hello, I'm the function!");
}
const functionName = "myFunction";
window[functionName](); // Для брайзеров консоли
// OR
global[functionName](); // Для Node.js
Способ 2: Использование объекта (для функций, определенных внутри объекта):
const myObject = {
someFunction: function () {
console.log("
Здравствуйте, я функция внутри объекта!");
},
};
const functionName = "someFunction";
myObject[functionName]();
Способ 3: Использование eval()
(не рекомендуется из-за угроз безопасности):
function myFunction() {
console.log("
Привет, я функция!");
}
const functionName = "myFunction";
eval(functionName + "()");
Примечание. Хотя eval()
это можно использовать для достижения этой цели, обычно это не рекомендуется из-за потенциальных уязвимостей безопасности и проблем с производительностью. Лучше всего использовать первый или второй метод, в зависимости от области действия функции, которую вы хотите вызвать.
Комментарии
Оставить комментарий
Выполнение скриптов на стороне клиента JavaScript, jqvery, JS фреймворки (Frontend)
Термины: Выполнение скриптов на стороне клиента JavaScript, jqvery, JS фреймворки (Frontend)