December 8, 2023
Очень динамическая функция
// Определяем имя функции, которое будет динамически изменяться var dynamicName = 'dynamicFunction'; // Задаем содержимое тела функции в виде строки var functionBody = ` console.log(\`Результат \${args}\`); // Выводим результат в консоль `; // Создаем строку функции, добавляя новый функционал const functionString = ` function ${dynamicName}(...args) { // Определяем функцию с динамическим именем и аргументами ${functionBody} // Вставляем содержимое тела функции }`; // Определяем функцию с динамическим именем, используя eval() eval(functionString); // Вызов функции dynamicFunction('а', 'а'); // Вызываем функцию с передачей аргументов
Добавим сохранение новой функции в файл
const fs = require('fs'); // Определяем имя функции, которое будет динамически изменяться var dynamicName = 'dynamicFunction'; // Задаем содержимое тела функции в виде строки var functionBody = ` console.log(\`Результат \${args}\`); // Выводим результат в консоль `; // Создаем строку функции, добавляя новый функционал const functionString = ` function ${dynamicName}(...args) { // Определяем функцию с динамическим именем и аргументами ${functionBody} // Вставляем содержимое тела функции }`; // Определяем путь и имя файла для сохранения функции const filePath = './dynamicFunction.js'; // Сохраняем функцию в файл fs.writeFileSync(filePath, functionString); // Проверяем, успешно ли сохранен файл if (fs.existsSync(filePath)) { console.log('Файл успешно сохранен!'); } else { console.log('Ошибка при сохранении файла.'); } // Вызов функции dynamicFunction('а', 'а'); // Вызываем функцию с передачей аргументов