Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.06.2013, 23:07
Аватар для macdack
партизан, доктор
Отправить личное сообщение для macdack Посмотреть профиль Найти все сообщения от macdack
 
Регистрация: 29.06.2011
Сообщений: 221

Как прекратить выполнение скрипта ?
при нажатии на кнопку программа запускает скрипт eval(x)
в переменной х набор инструкций бесконечного цикла с периодической проверкой состояния (чтобы JS не завис) и отображением состояния в окне

итак - в моем окне ворочается цикл и мигает
как его остановить и чтобы из памяти стереть все упоминания об этом цикле

как часть кода удалить из памяти, не прекращая работу остального ?
остановить и удалить программно, директивой из основной программы

Последний раз редактировалось macdack, 16.06.2013 в 23:28.
Ответить с цитированием
  #2 (permalink)  
Старый 17.06.2013, 02:48
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от macdack
как его остановить
try {
    eval( 'throw {code:111}' );
} catch( e ) {
    alert( e.code );
}

http://javascript.ru/throw

Сообщение от macdack
и чтобы из памяти стереть все упоминания об этом цикле
задействовать сборщик мусора
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #3 (permalink)  
Старый 17.06.2013, 09:55
Аватар для macdack
партизан, доктор
Отправить личное сообщение для macdack Посмотреть профиль Найти все сообщения от macdack
 
Регистрация: 29.06.2011
Сообщений: 221

не понял ничо
Ответить с цитированием
  #4 (permalink)  
Старый 17.06.2013, 14:12
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

что-то я перемудрил на ночь глядя. Остановить цикл:
break;
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #5 (permalink)  
Старый 17.06.2013, 14:33
Аватар для macdack
партизан, доктор
Отправить личное сообщение для macdack Посмотреть профиль Найти все сообщения от macdack
 
Регистрация: 29.06.2011
Сообщений: 221

человек, ты пойми что программа (кусок программы который я эвалом запускаю) это не только цикл но и всё что угодно

пока что вижу решение такое - во всех обработчиках события. во всех условиях и циклах, и во всех блоках инструкций ставить проверку на выполнимость...
__________________
eval("нажми на кнопку - палучишь ризультат - и твая мичта асуществицааа") <часто не читай этот кот!>
Ответить с цитированием
  #6 (permalink)  
Старый 17.06.2013, 14:49
Аватар для macdack
партизан, доктор
Отправить личное сообщение для macdack Посмотреть профиль Найти все сообщения от macdack
 
Регистрация: 29.06.2011
Сообщений: 221

ну например

основная программа загружает (eval) по команде пользователя дополнительные скрипты.
скриптов много и все они по разному используют одни и те же события мыши или клавы
то есть одну прогу надо выключить для того чтобы другая заработала

ну или каждый загружаемый скрипт крутит цикл бесконечный и мигает на экране обозначая свою активность и совершая какие то действия например с бд

надо включать-выключать функциональные части программы
__________________
eval("нажми на кнопку - палучишь ризультат - и твая мичта асуществицааа") <часто не читай этот кот!>
Ответить с цитированием
  #7 (permalink)  
Старый 18.06.2013, 03:35
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

macdack, открою страшную тайну - JavaScript - однопоточный. Мне жаль чувак..
Хотя.. может тебе вебворкеры помогут?
Ответить с цитированием
  #8 (permalink)  
Старый 18.06.2013, 10:32
Аватар для macdack
партизан, доктор
Отправить личное сообщение для macdack Посмотреть профиль Найти все сообщения от macdack
 
Регистрация: 29.06.2011
Сообщений: 221

человек, ты понимаеш разницу между управлением памятью и многопоточностью ?


?как действующие элементы программы работающей удалить из оперативной памяти - функции и переменные
__________________
eval("нажми на кнопку - палучишь ризультат - и твая мичта асуществицааа") <часто не читай этот кот!>
Ответить с цитированием
  #9 (permalink)  
Старый 18.06.2013, 10:47
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

если проблема в том чтобы выключать некий функционал на время работы других скриптов, то на это есть bind и unbind.
Ответить с цитированием
  #10 (permalink)  
Старый 18.06.2013, 10:55
Аватар для macdack
партизан, доктор
Отправить личное сообщение для macdack Посмотреть профиль Найти все сообщения от macdack
 
Регистрация: 29.06.2011
Сообщений: 221

Сообщение от tsigel Посмотреть сообщение
если проблема в том чтобы выключать некий функционал на время работы других скриптов, то на это есть bind и unbind.
ты читать чумеешь вопросы ?

я про жаваскрипт спрашиваю и не только про обработчики событий
__________________
eval("нажми на кнопку - палучишь ризультат - и твая мичта асуществицааа") <часто не читай этот кот!>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнение скрипта при открытии ссылки с параметром infernorays Общие вопросы Javascript 22 12.06.2013 21:18
Как остановить выполнение скрипта до загрузки библиотеки? HaseProgram jQuery 3 23.02.2013 22:03
Как остановить выполнение яваскрипта ? Serjuk AJAX и COMET 20 17.06.2012 22:32
Как переместить результат работы скрипта? Vlaimir Events/DOM/Window 2 31.08.2009 13:52
как прекратить отправку формы? magistr_bender Events/DOM/Window 3 17.12.2008 22:37