Вопрос по new Functon
Всем привет!
Сразу к сути. var foo = new Function ('a, b', 'return a + b'); console.log(foo) //function anonymous(a,b /**/) {return a + b} Как это изменить на: console.log(foo) //foo(a,b) {return a + b} Думаю для этого можно а) сделать свой конструктор функции(хз как) б) что-то сделать с foo после создания Задача вообще выглядит решаемой?) |
who_cares_?,
А зачем это? Твоя верхняя и нижняя функция эквивалентны. Только не foo(a,b) {return a + b}, а function foo(a,b) {return a + b} |
Цитата:
console.log(new Function ('a, b', 'return a + b')); |
Цитата:
var str = JSON.stringify(BASE, function(key, value) { if(typeof value == 'function') { wr(value); var start = key.length; value = 'function' + value.toString().substring(start); } return value; }); var PARSE = JSON.parse(str, function(key, value) { if(typeof value == 'string' && value.substr(0, 3) == 'fun') { ARG:{ const open = value.indexOf("("); const close = value.indexOf(")"); var arg = value.substring(open+1, close); } body:{ const open = value.indexOf("{"); var body = value.substring(open + 1, value.length-1); } value = new Function(arg, body); }; return value; }); BASE = PARSE; Это кстати велосипед который пришлось изобрести для решения этой задачи: http://javascript.ru/forum/misc/6683...unkciyami.html _ |
Тему можно закрывать..
|
Часовой пояс GMT +3, время: 19:59. |