SetTimeout не принимает параметр при повторном вызове 
		
		
		
		Привет всем, 
	Задача скрипта запуск функции до появления определенных условий. 
function onemenu()
{
var onemenu = new Array ("czero", "cone","ctwo")
return onemenu
}
var array_one = onemenu()
menuup(array_one)
function menuup(menu_array)
{
for (i= flag1; i<=menu_array.length; i++)
{
anim(i)
flag1 ++
break
}
if (flag1 <= menu_array.length)
{
var set_timeout = 'menuup(' + menu_array + ')'
setTimeout(set_timeout, 1000)
}
else {	
flag1 = 0
}
}
Так вот при повторном вызове SetTimout не передает список array_one. :(( Буду благодарен, если кто-нибудь мне поможет с этим разобраться.  | 
	
		
 Вместо setTimeout(set_timeout, 1000), поставьте alert(set_timeout) и посмотрите, что выведется. 
	 | 
	
		
 Ставил, в первый раз все нормально выводит все элементы списка, а во второй раз [object]. 
	 | 
	
		
 
function onemenu()
{
var onemenu = new Array ("czero", "cone","ctwo")
return onemenu
}
 
var array_one = onemenu()
 
menuup(array_one)
 
function menuup(menu_array)
{
for (i= flag1; i<=menu_array.length; i++)
{
anim(i)
flag1 ++
break
}
if (flag1 <= menu_array.length)
{
setTimeout(function(){menuup(menu_array)}, 1000)
}
else {    
flag1 = 0
}
}
 | 
	
		
 Работает!!! 
	Если нетрудно, теперь можно объяснить в чем сакраментальная разница между setTimeout(set_timeout,1000) и setTimeout(function(){menuup(menu_array)}, 1000)? Спасибо за помощь.  | 
	
		
 сакраментальная разница в передаче параметров: 
	- в первом случае ф-ии set_timeout не передается ничего, - во втором случае благодаря замыканию передается массив menu_array. P.S. Kolyaj, для интереса выполнил 
setTimeout(function(){console.info(arguments)},1)
выдает то [-10], то [5]. Интересно, что передается?  | 
	
		
 Спасибо за ответ, буду разбираться. 
	 | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 А если серьезно, я плохо представляю, что и где вы выполнили. 
	 | 
| Часовой пояс GMT +3, время: 13:31. |