Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Короче, пытаюсь остановить часть кода на JavaScript

Пытаюсь остановить часть кода на JS, через confirm

1234567
             yesOrNot = confirm('Хочешь пройти тест?') 
            if (yesOrNot == false) { 
                alert('Ок, остановка кода') 
            // Нужно остановить код
            } else if (yesOrNot == true) { 
                alert('Тогда начнём') 
            } 

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

По дате
По рейтингу
Аватар пользователя
Новичок
8мес

Обвернуть это в функцию, и ключевым словом "return" завершить выполнение.

Пример:

12345678910
 function runTest() { 
   yesOrNot = confirm('Хочешь пройти тест?')   
   if (yesOrNot == false) {   
      alert('Ок, остановка кода')   
      return; // завершение кода
   } else if (yesOrNot == true) {   
      alert('Тогда начнём')   
   } 
} 
runTest(); 



Ещё как вариант, можно написать выполнение последующего кода в

1234
 else if (yesOrNot == true) {
   alert('Тогда начнём')
 // твой код
} 

(хоть чистота кода ухудшается вразы)

Пример

123456789
 yesOrNot = confirm('Хочешь пройти тест?')    
if (yesOrNot == false) {    
   alert('Ок, остановка кода')
   // if и так завершится
} else if (yesOrNot == true) {    
   alert('Тогда начнём')    
   years = prompt('Сколько тебе лет?')
}
// если после if-дерева, нечего нету, то выполнение кода завершится. 
Аватар пользователя
Мастер
8мес

Мне кажется тебе нужна не остановка кода, а его оптимизация. Ибо вопрос странный. Расскажи, зачем останавливать код и что он делает

Аватар пользователя
Просветленный
8мес

Код читается и выполняется сверху вниз. Если данный пример это весь твой код, то там нечему больше выполнятся. Не понятно что ты конкретно хочешь остановить? Если выполнится условие, то выполнится блок "if". В противном случае - "else". Конкретно какой отрезок кода тебе требуется остановить?

По твоему коду. Запомни что операторы "==", "===", "!=" и "!==" сами по себе возвращают значения true или false. Если переменная возвращает true или false, то в сравнении нет смысла. Вот пример:

1234567891011121314
 function startQuestionnaire(){
    let years = prompt('Сколько тебе лет?');
    // Остальной код опросника 
}

let beginTest = confirm('Хочешь пройти тест?');

if (beginTest) {
    alert('Тогда начнём');
    startQuestionnaire();
}
else {
    alert('Ок, остановка кода не требуется.');
} 

Альтернативный вариант с обёртыванием в функцию:

123456789101112131415161718192021
 function startQuestionnaire(){
    let years = prompt('Сколько тебе лет?');
    // Остальной код опросника
}

function main(){
    let beginTest = confirm('Хочешь пройти тест?');

    if (beginTest) {
        alert('Тогда начнём');
    }
    else {
        alert('Ок, остановка кода.');
        return;
    }

    startQuestionnaire();
    // Или вместо вызова функции можешь писать сюда код опросника напрямую
}

main(); 
Аватар пользователя
Мудрец
8мес

Код не нужно останавливать. Скорее всего у тебя неправильная логика

Аватар пользователя
Профи
8мес

Нажми Alt+f4

Больше по теме