2013-08-07 5 views
0

Я работаю над некоторым кодом в Node.js. В основном я пытаюсь проанализировать и применить логику в части запроса URL. Конспект моей ситуации ниже:Последовательные операторы IF в javascript

If(condition1){run1}; 
If(condition2){run2}; 
else{run3}; 

Когда FF (condition1-condition2) RUN3 происходит Когда RUN3 TF происходит (run1 должно уже произошло ...) Когда FT RUN2 происходит Когда TT run1 и RUN2 случаться

Я пробовал:

If(condition1){run1}; 
else{run4}; 
If(condition2){run2}; 
else{run3}; 

Где run4 пусто.

Что здесь происходит? Я хочу, чтобы run1 произошел, если условие 1 выполнено, выполняется, если условие condition2 выполнено, и оба, если оба выполнены, и ни один, если они не выполнены.

ТИА

+0

@jahroy Я только что обновил свой ответ после повторного прохождения вопроса. –

ответ

3
if (condition1) { 
    run1; 
} 
if (condition2) { 
    run2; 
} 
if (! condition1 && ! condition2) { 
    run3; 
} 
+0

, так что присутствие else {} в той же скобке изменяет поведение предыдущего if {} в одной и той же скобке? – nemo

+0

Нет ... Ваша логика просто неверна. Попробуйте выполнить свой код. Вы поймете, почему вы не получаете то, что хотите. В приведенном примере, если 'condition1' истинно, а' condition2' - false, будут выполняться 'run1' и' run3'. – jahroy

+0

Нет, что именно? и run1 и run3 в этом сценарии - это то, что я хочу, но этого не происходит. С вашим форматом он работает. Мне интересно узнать, почему это работает. – nemo

-2

Ниже правильное решение с соответствующими кронштейнами

If(condition1){run1}; 
If(condition2){run2}; 
If(!condition2 && !condition2){run3}; 
+0

это не помогает. пожалуйста, перечитайте мой вопрос. если условие 1 и условие 2 выполнены только run1 будет выполняться в вашем решении – nemo

+2

Пожалуйста, прекратите попрошайничество для очков ... – jahroy

+2

Остановите людей, чтобы принять ваши ответы. –

Смежные вопросы