Пожалуйста напишите регулярку!!
напишите регулярку чтобы возвращала Тело функции!
из "function(){alert('fff')}" и из "function бла(){ alert('fff') }" или как можно получить тело функции в виде текста? например q = function (){ alert('ля ля') } var funcBody = q.toStrong() //возвращает не только тело, а строку "function (){ alert('ля ля') }" целиком как вернуть чисто тело "alert('ля ля')" ))? |
Цитата:
.toString();:nono: alert(function () {return 0;}.toString().replace(/\s+/g, ' ').match(/function.*{(.*)}/)[1]); |
СПАСИБО ОГРОМНОЕ)!! Я реально не могу понять как регулярки работают, я уже статей 15 перечитал и справочников(
|
Цитата:
например var q = (function NNNNN (){}).toString().replace(/\s+/g, ' ').match(/function.*{(.*)}/)[1] q это строка с телом функции var func = Function(q) так вот у func имя NNNNN не сохранится(( иными словам функция не будет доступна внутри самой себя через имя NNNNN можно ли как то в конструктор Function() передавать не только тело функции а еще и её имя? |
хорошо, как после создания безымянной функции поменять её внутренее имя?
var q = function (){ alert(t.name) } q.name = 't' q() // t не определено |
Цитата:
Цитата:
(function NNNNN (){ alert(arguments.callee.name) })() (function NNNNN (){ alert(NNNNN.name) })() alert((function NNNNN (){}).toString()) но в IE есть баги http://dmitrysoshnikov.com/ecmascrip...#nfe-i-jscript |
Цитата:
var fn = function () { return 'foo'; }; var source = fn.toString().replace(/\s+/g, ' ').match(/function.*{(.*)}/)[1]; alert(Function(source)()); Для чего этот бред нужен? Цитата:
|
Цитата:
В том то и суть что через аргументс.кали обращаться не хочется, вдруг в функции написано обращение не через кали а через именно ИМЯ. _____________ бред этот нужен для корвертации фукций в строку и обратно БЕЗ ПОТЕРЬ. |
Часовой пояс GMT +3, время: 03:10. |