Пожалуйста напишите регулярку!!
напишите регулярку чтобы возвращала Тело функции!
из "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, время: 12:22. |