2017-11-19 3 views
-6

Ich studiere gerade, wenn Bedingung Aussage und es ist eines meiner schwächsten Thema überhaupt. Hier in diesem Code unten, gibt es zwei wenn Bedingungen und ich würde gerne wissen, wie finden wir die Ausgabe von diesem? Ich weiß, wie man die Ausgabe bekommt, wenn es eine if gibt. Aber was ist mit zwei wenn?Ich habe zwei wenn Bedingung

function exercise3(){ 

    var x, y, z; 

    x = 20; 

    y = 30; 

    z = 50; 



    if ((x - 10) < y) { 

     if (y - 5 > x) { 

      alert (z - x); 

     } 

     else { 

      alert (z - 5); 

     } 

    } 

} 

exercise3(); 
+1

Es gibt nichts Einzigartiges mit 2 verschachtelten 'if' Anweisungen. – zerkms

+0

Das 2. if ist innerhalb eines anderen if geschachtelt. Wenn Sie also die erste Bedingung erfüllen, folgen Sie der nächsten Bedingung und so weiter. Erhalten Sie unerwartete Ergebnisse? – zer00ne

+0

@ zer00ne nein, ich bin neugierig wie erhalten wir die Ergebnisse dieses Codes. – yxlxn

Antwort

1

Dies wird als geschachtelte If-Anweisung bezeichnet. Grundsätzlich behandeln Sie den äußersten Block zuerst, bevor Sie in den inneren Block gehen. Sie würden nur in den inneren Block gehen, wenn die Bedingung in der Aussage wahr ist.

Ihre Aussage Bedingung ist wahr

if ((x - 10) < y) { 
... 
} 

Daher würden Sie durch lesen fortzufahren.

Beachten Sie im Allgemeinen, um es lesbarer zu machen besser zu verwenden Wenn else-Anweisungen statt als allein als die Ausführung fortfahren wird, um die nächste if-Anweisung zu überprüfen, ist Block eins und Block zwei (eins nach dem anderen) langsame Ausführung in lange schriftliche Erklärungen.

Ref: https://www.w3schools.com/js/js_if_else.asp

Cheers, glücklich Lernen und glücklich Codierung.

0

Das ist das gleiche wie das, wenn es Ihnen hilft, besser zu verstehen. Das folgende Snippet ist nur zum Beispiel Zweck, folge dem nicht. Sie müssen geschachtelte if Bedingungen verwenden.

function exercise3(){ 
    var x, y, z; 
    x = 20; 
    y = 30; 
    z = 50; 

    // The first if and nested if from your snippet 
    if ((x - 10) < y) && (y - 5) > x) { 
    alert(z - x); 
    } 

    // The first if and nested else from your snippet 
    if ((x - 10) < y && (y - 5) <= x) { 
    alert (z - 5); 
    }  
} 

exercise3(); 
Verwandte Themen