Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.06.2013, 22:48
Профессор
Отправить личное сообщение для Vampir3 Посмотреть профиль Найти все сообщения от Vampir3
 
Регистрация: 06.12.2011
Сообщений: 172

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

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

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

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


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


этот способ не работает, видимо нужно как-то иначе
помогите)
Ответить с цитированием
  #2 (permalink)  
Старый 26.06.2013, 22:54
Интересующийся
Отправить личное сообщение для Solonik Посмотреть профиль Найти все сообщения от Solonik
 
Регистрация: 14.06.2013
Сообщений: 29

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

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

}
Ответить с цитированием
  #3 (permalink)  
Старый 27.06.2013, 00:38
Профессор
Отправить личное сообщение для Vampir3 Посмотреть профиль Найти все сообщения от Vampir3
 
Регистрация: 06.12.2011
Сообщений: 172

что-то не получается..
а других способов нет?
Ответить с цитированием
  #4 (permalink)  
Старый 27.06.2013, 00:44
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от 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();

Последний раз редактировалось dmitriymar, 27.06.2013 в 00:49.
Ответить с цитированием
  #5 (permalink)  
Старый 27.06.2013, 01:33
Профессор
Отправить личное сообщение для Vampir3 Посмотреть профиль Найти все сообщения от Vampir3
 
Регистрация: 06.12.2011
Сообщений: 172

понятно, спасибо
просто функция на самом деле намного больше, чем в примере
Я надеялся, что можно изменить её не переопределяя
Ответить с цитированием
  #6 (permalink)  
Старый 27.06.2013, 01:41
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

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


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

Последний раз редактировалось dmitriymar, 27.06.2013 в 01:48.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Установить имя конструктора Андрей Параничев Общие вопросы Javascript 8 17.11.2011 10:09
динамическое содержимое функции alfmaster Общие вопросы Javascript 2 28.05.2011 17:10
arguments вызвавшей функции mister_maxim Общие вопросы Javascript 4 12.10.2010 16:21
замена функции confirm mrWong Общие вопросы Javascript 1 02.08.2010 23:26
Подскажите, как работает простой код (замыкание функции)? Dotod Общие вопросы Javascript 5 02.12.2009 04:03