Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.05.2011, 16:28
Аватар для alfmaster
Интересующийся
Отправить личное сообщение для alfmaster Посмотреть профиль Найти все сообщения от alfmaster
 
Регистрация: 13.10.2010
Сообщений: 19

динамическое содержимое функции
Привет всем. Столкнулся с такой интересной вещью:хочу написать скрипт с динамическим содержанием функции. Чтобы было понятен смысл, приведу такой код:
//<![CDATA[
var c=0;
function op() {
document.getElementById('a').innerHTML+=c;
++c;
timer = setTimeout("op()", 100);
if(c>10) { clearTimeout(timer); }
}
function init() {
timer = setTimeout("op()", 100);
}
window.onload=init;
//]]>

смысл кода-постепенное появление цифр, запускается через таймер.

Но появилась мысль в функции setTimeout написать динамический код (например выбор функции которую запускать).
var str="\"op()\",100";
timer = setTimeout(str);


Возможно это уже много раз обсуждалось, но все равно спрошу.
Допустим ли такой вызов функции или ни в коем случае нельзя так делать?
Ответить с цитированием
  #2 (permalink)  
Старый 28.05.2011, 16:48
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от alfmaster
Допустим ли такой вызов функции или ни в коем случае нельзя так делать?
так делать нельзя, потому что каждый раз вызывается eval()

можно так:
function foo() {
    //[...]
}
setTimeout(foo, 100);

так:
setTimeout(function(){
    //[...]
}, 1000);

либо так:
(function() {
      //[...]
      setTimeout(arguments.callee, 100);
}());

Последний раз редактировалось monolithed, 28.05.2011 в 16:53.
Ответить с цитированием
  #3 (permalink)  
Старый 28.05.2011, 17:10
Аватар для alfmaster
Интересующийся
Отправить личное сообщение для alfmaster Посмотреть профиль Найти все сообщения от alfmaster
 
Регистрация: 13.10.2010
Сообщений: 19

ну по сути это самый простой вызов функции, он и так понятен))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Превращение значения обьекта в название функции. alexandre Общие вопросы Javascript 4 16.02.2011 01:04
arguments вызвавшей функции mister_maxim Общие вопросы Javascript 4 12.10.2010 16:21
Реализация функции JavaScript, меняющей содержимое ячеек таблицы по событию onchange BOJIKOJIAK Events/DOM/Window 1 24.05.2010 05:50
Переменная как значение функции. Jurasmi Общие вопросы Javascript 7 22.04.2010 12:45
Подскажите, как работает простой код (замыкание функции)? Dotod Общие вопросы Javascript 5 02.12.2009 04:03