В общем, когда мы пишем функцию JavaScript в результате объявление функции выглядит следующим образом:
function demo() {
// function stuff here
}
Вы вероятно, более чем осознавая, что «в функциях JavaScript являются первоклассными объектами». Это фраза, которая носится повсюду, и не зря. Это очень мощная идея, которая работала над тем, чтобы поднять JavaScript туда, где он есть. Здесь мы не будем вдаваться в подробности первоклассных объектов. Все, о чем мы заботимся, это тот факт, что в JavaScript функции являются объектами. Это означает, что данная функция также может быть объявлена путем вызова его конструктора:
var demo = new Function();
Теперь давайте представим, что мы имеем функцию с параметрами и инструкциями:
function demo(name, age) {
console.log('my name is ' + name);
console.log('my age is ' + age);
}
и теперь, чтобы преобразовать его в конструкторе синтаксис :
var demo = new Function(
"name,age",
"console.log('my name is ' + name);" +
"console.log('my age is ' + age);"
);
Это довольно легко понять, что эти две функции одинаковы, они просто объявлены по-разному. Важное различие состоит в том, что у нас есть легко доступные строки, с которыми мы можем манипулировать.
Это относится к вашей функции очень похожим образом.
var strfunc = new Function ("", "logo.cr.Button()");
Я не могу отформатировать это, потому что я нахожусь на мобильном телефоне. Но я буду как можно скорее.
отредактировал мой вопрос немного, пожалуйста, еще раз проверьте –
не работает @thomas говорит, что не функция –
Звучит как [проблема XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy -проблемы). Зачем вам это нужно в первую очередь? Предоставьте более подробную информацию о проблеме более высокого уровня, которую вы пытаетесь решить. – charlietfl