Я хочу создать три функции из одной строки javascript, содержащей исходный код js.
Допустим, у меня есть следующий код в виде одной строки:
"
function func1()
{
console.log('This comes from func1')
}
function func2()
{
console.log('This comes from func2')
}
function func3()
{
console.log('This comes from func3')
}
"
Теперь я хочу создать эти три функции как функции javascript и прикрепить их к объекту, например:
object1.func1 = function func1(){...}
object1.func2 = function func2(){...}
У меня много объектов и я хочу иметь возможность прикрепить файл скрипта, который содержит эти три функции func1, func2 и func3.
Файл сценария может содержать и другие функции, но они вызываются одной из трех функций.
Таким образом, файл сценария для объекта может выглядеть следующим образом:
"
// Main functions of a script file
// A script file MUST contain these three functions
function func1()
{
console.log('This comes from func1')
userFunc1();
// do some user code
}
function func2()
{
console.log('This comes from func2')
userFunc2();
// do some user code
}
function func3()
{
console.log('This comes from func3')
userFunc3();
userFunc4();
// do some user code
}
// User functions
// these are optional
function userFunc1()
{
// do stuff
}
function userFunc2()
{
// do stuff
}
function userFunc3()
{
// do stuff
}
function userFunc4()
{
// do stuff
}
"
У меня нет проблем с созданием функции, когда строка содержит только одну функцию, например:
var jsCode = "(function func1(){console.log('This comes from func1')})";
var script=new Function (jsCode);
script();
Моя проблема в том, как разобрать две или более функции из одной строки и создать эти функции соответственно?
Я не хочу использовать какие-либо библиотеки, только чистый JavaScript
и я не хочу использовать eval, потому что он кажется ужасно медленным.
Может кто-нибудь помочь мне с этой проблемой?