Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.10.2013, 09:50
Аспирант
Отправить личное сообщение для ArtemKrass Посмотреть профиль Найти все сообщения от ArtemKrass
 
Регистрация: 23.02.2013
Сообщений: 56

Правильный вызов функции
Всем привет!
Пишу небольшой скриптик.
В нем есть функция, в функции цикл, в цикле условие.
Мне нужно чтобы при выполнении условия данная функция останавливалась и запускалась с самого начала.
Как это правильно сделать что-то не соображу... Подскажите, пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 11.10.2013, 10:22
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от ArtemKrass
функция останавливалась
Это как понять?
- Функция, стой! раз, два... (с)
Ответить с цитированием
  #3 (permalink)  
Старый 11.10.2013, 10:36
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

break METKA
Ответить с цитированием
  #4 (permalink)  
Старый 11.10.2013, 10:52
Аспирант
Отправить личное сообщение для ArtemKrass Посмотреть профиль Найти все сообщения от ArtemKrass
 
Регистрация: 23.02.2013
Сообщений: 56

Сообщение от BETEPAH Посмотреть сообщение
break METKA
Break же останавливает цикл, а мне надо приостановить и запустить заново всю функцию...

return подойдет?
Ответить с цитированием
  #5 (permalink)  
Старый 11.10.2013, 10:55
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от ArtemKrass
Break же останавливает цикл, а мне надо приостановить и запустить заново всю функцию...

return подойдет?
нет. return только закончит работу функции. А что ограничивает вас поставить в условие вызов функции?
(function f() {
		var a = prompt('введите единицу','1');
		if (a == '1') f();
})()

Последний раз редактировалось BETEPAH, 11.10.2013 в 11:01.
Ответить с цитированием
  #6 (permalink)  
Старый 11.10.2013, 11:11
Аспирант
Отправить личное сообщение для ArtemKrass Посмотреть профиль Найти все сообщения от ArtemKrass
 
Регистрация: 23.02.2013
Сообщений: 56

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

function func(val){
for (i in arr){
    if (arr[i] == val){
        console.info(arr[i]);
    }
}
}

func(7);


Вот мне нужно при переборе массива если val совпадет с числом в масииве, прервать выполнение функции и запустить ее сначала...
Ответить с цитированием
  #7 (permalink)  
Старый 11.10.2013, 11:17
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от ArtemKrass
Вот мне нужно при переборе массива если val совпадет с числом в масииве, прервать выполнение функции и запустить ее сначала...
С каким параметром надо запустить сначала?
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
function func(val){
	for (i in arr){
		if (arr[i] == val){
			console.info(arr[i]);
		break;
		}
	}
	func(7);
}
func(7);

И кстати, массивы рекомендуется перебирать в цикле for (var i = 0; i < arr.length; i++), так как цикл for (i in arr) будет всякие вспомогательные ключи еще брать, он предназначен для неупорядоченных объектов

Последний раз редактировалось BETEPAH, 11.10.2013 в 11:23.
Ответить с цитированием
  #8 (permalink)  
Старый 11.10.2013, 11:29
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от ArtemKrass Посмотреть сообщение
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

function func(val){
for (i in arr){
    if (arr[i] == val){
        console.info(arr[i]);
    }
}
}

func(7);


Вот мне нужно при переборе массива если val совпадет с числом в масииве, прервать выполнение функции и запустить ее сначала...
Поскольку массив неизменен - ты попадаешь в вечный цикл.
И в чем с мысл?
Ответить с цитированием
  #9 (permalink)  
Старый 11.10.2013, 12:11
Аспирант
Отправить личное сообщение для ArtemKrass Посмотреть профиль Найти все сообщения от ArtemKrass
 
Регистрация: 23.02.2013
Сообщений: 56

Мне и нужен вечный цикл, просто значение val у меня меняется динамически... Может пример неуданый привел
Ответить с цитированием
  #10 (permalink)  
Старый 11.10.2013, 13:18
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от ArtemKrass
Мне и нужен вечный цикл

При таком подходе твой браузер будет просто "висеть", на странице ничего происходить не будет...

Сообщение от ArtemKrass
Может пример неуданый привел
Не "может", а точно неудачный.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов функции при отображении BrainFuck Events/DOM/Window 1 10.09.2013 10:41
Вызов функции из скрытого iframe Beer75 Общие вопросы Javascript 2 05.06.2013 21:36
Двойной вызов функции Tmin10 jQuery 8 08.12.2011 15:19
Вызов функции TicTac Общие вопросы Javascript 2 24.01.2011 23:35
непонятный вызов функции hedgi Общие вопросы Javascript 2 05.08.2010 11:55