Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   замена в функции (https://javascript.ru/forum/misc/39367-zamena-v-funkcii.html)

Vampir3 26.06.2013 22:48

замена в функции
 
Можно ли выполнить замену внутри функции?

тоесть есть ф-ция:

function addMessage(txt) {
     var a;
     var b;

     if(txt != "") {
          //.....
     }
}


как можно в эту функцию добавить alert(txt)?
addMessage = addMessage.replace('var a;', 'alert(txt); var a;');


этот способ не работает, видимо нужно как-то иначе
помогите)

Solonik 26.06.2013 22:54

Попробуйте посмотреть в сторону http://javascript.ru/Object/prototype

Что то вроде будет addMessage.prototype={
alert(txt)

}

Vampir3 27.06.2013 00:38

что-то не получается..
а других способов нет?

dmitriymar 27.06.2013 00:44

Цитата:

Сообщение от Vampir3
как можно в эту функцию добавить alert(txt)?

переопределив её:

var a = function (){
 alert(10)
};
a();
a = function (){
 alert(20)
};
a();


либо переопределив её свойство. прототип не причём:

var a= function(){a.b();};
a.b = function(){alert(10)};
a();
a.b = function(){alert(20)};
a();

Vampir3 27.06.2013 01:33

понятно, спасибо
просто функция на самом деле намного больше, чем в примере
Я надеялся, что можно изменить её не переопределяя

dmitriymar 27.06.2013 01:41

function a(){alert(10)}
eval(new String(a).replace('10','20'));
a();


но это не по феншуй


Часовой пояс GMT +3, время: 00:31.