Javascript Wenn zwei Bedingungen erfüllt sind, drucken Sie eine Nachricht. Bedingte Operatoren. Bedingte if-Anweisung

JavaScript verfügt über ein bedingtes Konstrukt, das den Ausführungsfluss eines Programms beeinflusst. Wenn (auf Englisch, wenn) etwas ist, etwas wahr ist, dann mache eine Sache, sonst (auf Englisch sonst) - mach eine andere.

If-Anweisung

Werfen wir einen Blick darauf, wie die if-Anweisung funktioniert. Sie ist einfach und erfordert nicht viel Erklärung.

If (Bedingung) (Code, der ausgeführt werden soll, wenn die Bedingung erfüllt ist)

Es ist ganz einfach: Wenn die Bedingung erfüllt ist, wird der Code im (...) Block ausgeführt.

Var Ziffer \u003d 4; if (digit \u003d\u003d 4) (document.write ("digit is 4.");)

Es kann ein seltsamer Code erstellt werden:

Var Ziffer \u003d 4; if (true) (document.write ("Die Bedingung ist wahr.");)

Sonst Aussage

Eine else-Anweisung kann in Verbindung mit einer if-Anweisung verwendet werden. Es übersetzt in "anders" und bietet einen alternativen Code.

Var Ziffer \u003d 4; if (Ziffer

Beachten Sie die unterschiedliche Schreibweise von geschweiften Klammern in diesem Beispiel für die if- und else-Anweisungen. Es ist nicht obligatorisch, auf diese Weise zu schreiben, beide Syntaxen sind korrekt.

Auf die else-Anweisung kann eine neue if-Anweisung folgen. Dadurch werden mehrere Bedingungen getestet.

Var Ziffer \u003d 4; if (Ziffer

JavaScript hat keine elseif-Anweisung (in einem Wort) wie PHP.

Wenn Sie nur eine Anweisung ausführen müssen, sind die geschweiften Klammern (...) nicht erforderlich. In unserem Beispiel müssen Sie sie nicht schreiben:

Var Ziffer \u003d 4; if (Ziffer

Liegt in JavaScript

Die if (Bedingung) -Anweisung wertet die in Klammern gesetzte Bedingung (Ausdruck) aus und konvertiert sie in Boolesch (wahr oder falsch).

Lassen Sie uns noch einmal wiederholen, dass JavaScript eine Lüge enthält.

  • Nummer 0 (Null).
  • Leere Zeile "".
  • Boolean false :)
  • Der Wert ist null.
  • Der Wert ist undefiniert.
  • Der NaN-Wert (keine Zahl).

Alles andere ist wahr.

Einige mögliche Fehler:

If ("false") document.write ("Dies ist wahr.
"); if (false) document.write (" Dies ist wahr.

");

Hier müssen Sie die Zeichenfolge "false" (in Anführungszeichen) vom Wert des booleschen Typs false unterscheiden.

If ("") document.write ("Dies ist wahr.
"); else document.write (" Dies ist falsch.
");

Hier müssen Sie die Zeichenfolge "" (innerhalb eines Leerzeichens) von der leeren Zeichenfolge "" unterscheiden. Ein Leerzeichen innerhalb einer Zeichenfolge macht sie nicht leer, sondern enthält ein Zeichen. Für den Dolmetscher spielt es keine Rolle, ob es sich um einen Buchstaben oder ein Leerzeichen handelt - ein Symbol ist ein Symbol.

Andere Bedingungen in JavaScript

  • JavaScript-Switch-Konstruktion.
  • Bediener-Fragezeichen

var a \u003d 10; var b \u003d (a\u003e 1)? 100: 200; Alarm (b);

Wenn die Bedingung a\u003e 1 ist wahr, dann die Variable b Wert zuweisen 100 Andernfalls wird der Variablen b der Wert zugewiesen 200 .

Js Aufgabe 3_4. Code-Vervollständigung: 3 lokale Variablen werden mit dem Schlüsselwort var deklariert. Es ist notwendig, der Variablen max den Wert des folgenden ternären Operators zuzuweisen: Wenn a größer als b ist, geben wir a zurück, andernfalls geben wir b zurück.
Codeausschnitt:

if (a * b< 6) { result = "Мало"; } else { result = "Много"; }


Fragen zur Selbstkontrolle:

  1. Wie lautet die Syntax für den ternären Operator?
  2. Wie viele Argumente hat der ternäre Operator?

Operator in JavaScript wechseln - wechseln

Die Javascript-switch-Anweisung wird verwendet, um eine Variable auf mehrere Werte zu testen:

Syntax:

switch (Variable oder Ausdruck) (case Option1: // .. Anweisungsblock .. break case Option2: // .. Anweisungsblock .. break default: // .. Anweisungsblock ..)

Der Wert einer Variablen oder eines Ausdrucks wird überprüft: in jedem fall Einer der Werte wird bei einem geeigneten Wert auf den einen oder anderen entsprechenden Anweisungsblock geprüft fall.

Der Block, der mit dem Standard für das Servicewort beginnt, kann weggelassen werden. Blockanweisungen werden ausgeführt, wenn keiner der aufgelisteten Werte insgesamt vorhanden ist fall ungeeignet.

Wichtig: Die break-Anweisung ist nach jedem berücksichtigten Wert der Variablen (nach jedem) erforderlich fall); Wenn Sie es nicht verwenden, werden alle unten aufgeführten Operatoren angezeigt

Vergleiche mit dem Operator WENN:

var a \u003d 2; Schalter (a) (Fall 0: // wenn (a \u003d\u003d\u003d 0) Fall 1: // wenn (a \u003d\u003d\u003d 0) Alarm ("Null oder Eins"); // dann Ausgabe ... Pause; Fall 2: // if (a \u003d\u003d\u003d 2) alert ("Two"); // dann display ... break; default: // else alert ("Many"); // sonst display ...)

Wie gruppiere ich mehrere Optionen?

Um dieselben Operatoren auszuführen, können mehrere gruppiert werden fall... Wie im obigen Beispiel:

Fall 0: Fall 1: Alarm ("Null oder Eins"); Unterbrechung; ...

Mit a \u003d 0 und a \u003d 1 wird dieselbe Anweisung ausgeführt: alert ("Null oder Eins");

Beispiel 4: Fordern Sie den Benutzer auf, eine Farbe einzugeben. Geben Sie die englische Übersetzung der eingegebenen Farbe aus. Für Farbe "Blau" und "Blau" Geben Sie den gleichen Wert zurück.


✍ Lösung:
  • Erstellen Sie eine Webseite mit HTML-Skelett und Tag skript.
  • Initialisieren Sie eine Variable farbe
  • var color \u003d prompt ("Welche Farbe?");

    var color \u003d prompt ("Welche Farbe?");

  • Überprüfen Sie den Wert einer Variablen mit dem Konstrukt switсh, Ausgabe für jeden Wert - die entsprechende Übersetzung:
  • schalter (Farbe) (Fall "rot": Alarm ("rot"); Pause; Fall "grün": Alarm ("grün"); Pause; // ...

    Wenn die Variable farbehat den Wert "rot", zeigt dann die Übersetzung im modalen Fenster - "rot" an und beendet die Konstruktion (break;). Wenn die Variable farbe hat den Wert "grün", zeigt dann die Übersetzung im modalen Fenster - "grün" an und beendet die Konstruktion (break;).

  • Für Blumen "Blau" und "Blau" mache die Gruppierung:
  • // ... case "blue": case "blue": alert ("blue"); Unterbrechung; // ...

    Wenn die Variable farbeist blau oder variabel farbehat den Wert "blau", zeigt dann die Übersetzung im modalen Fenster - "blau" an und beendet die Konstruktion (break;).

  • Organisieren Sie die Ausgabe für die Farben, die nicht vom Programm bereitgestellt werden:
  • // ... default: alert ( "Wir haben keine Informationen zu dieser Farbe")) // Endschalter

    // ... default: alert ("y wir haben keine Informationen zu dieser Farbe")) // Endschalter

  • Testen Sie das Skript in einem Browser.

Js Aufgabe 3_6. Suchen und beheben Sie Fehler im folgenden Codefragment:

14 15 16 17 var number \u003d prompt ( "Geben Sie die Nummer 1 oder 2 ein:"); switch (number) (case "1" (document.write ("One");); break; case "2" (document.write ("Two");); break; default (document.write () "Sie haben einen anderen Wert als 1 und 2 eingegeben.") ; } ; }

var number \u003d prompt ("Geben Sie die Nummer 1 oder 2 ein:"); switch (number) (case "1" (document.write ("One");); break; case "2" (document.write ("Two");); break; default (document.write ("Sie haben eingegeben) ein anderer Wert als 1 und 2 "););)


Js Aufgabe 3_7. Was wird auf dem Bildschirm angezeigt, wenn der folgende Code ausgeführt wird?

1 2 3 4 5 6 7 8 9 10 11 12 13 var value \u003d "2"; switch (value) (case "1": case "2": case "3": document.write ("Hello"); break; case "4": case "5": document.write ("World"); Standard: document.write ("Fehler");)

var value \u003d "2"; switch (value) (case "1": case "2": case "3": document.write ("Hello"); break; case "4": case "5": document.write ("World"); Standard: document.write ("Fehler");)


Js Aufgabe 3_8. Der Benutzer wird aufgefordert, eine Nummer einzugeben - die Anzahl der Krähen auf dem Zweig. Zeigen Sie abhängig von der eingegebenen Nummer (nicht mehr als 10) die folgende Meldung an: - Sitzen auf einem Zweig 1 Krähe - Sitzt auf einem Ast 4 Krähen - Sitzt auf einem Ast 10 Krähen

  1. Abhängig von der eingegebenen Nummer ändert sich das Ende des Wortes "Krähe".
  2. Verwenden Sie zur Überprüfung die JavaScript-Anweisung Switch.
  3. Speichern Sie diese Seite im Ergebnisordner (sie ist nützlich für weitere Arbeiten).


Fragen zur Selbstkontrolle:

  1. Wann ist es ratsam, die Konstruktion als bedingten Bediener zu verwenden? schalter?
  2. Wofür ist der Standardblock in einer Anweisung? schalter?
  3. Ist es obligatorisch, die break-Anweisung in der Konstruktion zu verwenden? schalter?
  4. Wie die Gruppierung für mehrere Wertvarianten in einem Operator durchgeführt wird schalter?

Zyklische Operatoren der JavaScript-Sprache - Für

Syntax:

für (Anfangswert des Zählers; Bedingung; Inkrement des Zählers) (//.. Block von Anweisungen ..)

Wichtig: Eine Schleife in Javascript für wird verwendet, wenn im Voraus bekannt ist, wie oft zyklische Aktionen wiederholt werden sollen (wie viele Iterationen die Schleife hat).

  • Ein Zuweisungsausdruck wird als Anfangswert des Iterationszählers verwendet: Beispiel: i \u003d 0 - Der Schleifenzähler beginnt bei Null:
  • für (var i \u003d 0; Bedingung; Zählerinkrement) (//.. Block von Anweisungen ..)

  • Als Zählerinkrement wird der Schritt angegeben, mit dem der Zähler erhöht werden soll: Zeigt beispielsweise an, dass jede Iteration der Schleife von ihrer Erhöhung um begleitet wird 1 :
  • for (var i \u003d 0; Bedingung; i ++) (//.. Block von Anweisungen ..)

  • Die Schleifenbedingung ist der Endwert des Zählers: Zum Beispiel stoppt i10 die Schleife:
  • für (var i \u003d 0; i<10; i++) { //..блок операторов.. }

Schauen wir uns ein Beispiel für die Verwendung einer for-Schleife in Javascript an:

Beispiel 5: Drucken Sie eine Folge von Zahlen 0 1 2 3 ... 9 , jede Ziffer in einer neuen Zeile. 0 1 2 ... 8 9


✍ Lösung:
  • Um eine Folge von Zahlen anzuzeigen, verwenden wir den Zähler der for-Schleife, dessen Wert von geändert werden soll 0 Vor 9 entsprechend der Reihenfolge.
  • Daher für der Anfangswert des Zykluszählers Setzen Sie den Wert auf 0 ;; als zyklusbedingungen setze den Endwert - ii \u003d 9; Gegenschritt muss sein 1 (i ++) da der Unterschied zwischen den Mitgliedern der Sequenz eins ist:
  • für (var i \u003d 0; i<10; i++) { document.write(i+"
    "); }

    Im Beispiel werden die Werte des Schleifenzählers auf dem Bildschirm angezeigt, da das Inkrement des Zählers i ++ auf dem Bildschirm angezeigt wird 0 1 2 3 ... 9 , mit jeder Ziffer in einer neuen Zeile (Tag
    ).

  • Testen Sie das Skript in einem Browser.

Js Aufgabe 3_9. 1 Vor 15 .

  1. Verwenden Sie einen Schleifenzähler als Folge von Zahlen zum.
  2. Verwenden Sie für eine Addierervariable die Variablenkennung summe.

Codeausschnitt:

Für (var i \u003d ...; ...; ...) (sum \u003d sum + ...;) ...

Loop-Exit-Anweisungen unterbrechung und fortsetzen in JavaScript. Operator Ausgang

Die break-Anweisung unterbricht die Ausführung des gesamten Schleifenkörpers, d.h. bricht in JavaScript aus der Schleife aus.

Die continue-Anweisung unterbricht zwar die Ausführung der aktuellen Schleifeniteration, setzt aber gleichzeitig die Schleifenausführung ab der nächsten Iteration fort.

Betrachten wir die Funktionsweise der break- und continue-Anweisungen anhand eines Beispiels:

Beispiel: Analysieren Sie den Algorithmus des Code-Snippets. Was wird angezeigt?

Codeausschnitt:

1 2 3 4 5 6 für (var i \u003d 0; i< 10 ; i++ ) { if (i== 4 ) continue ; document.write (i+ "
"); if (i \u003d\u003d 8) break;)

für (var i \u003d 0; i<10;i++) { if (i==4) continue; document.write(i+"
"); if (i \u003d\u003d 8) break;)


✍ Lösung:
  • Die dritte Zeile des Beispiels enthält eine Bedingung, aufgrund derer die Ziffer 4 wird nicht angezeigt: operator fortsetzenfährt mit der nächsten Iteration der Schleife fort, ohne die aktuelle zu vervollständigen.
  • In Zeile Nr. 5 wird die Schleife verlassen, aber die Nummer 8 wird angezeigt, da die Ausgabeanweisung vor der Bedingung steht (in der 4. Zeile). Sich getroffen zu haben unterbrechungverlässt der Interpreter die Schleife.
  • Damit Der Bildschirm zeigt: 0 1 2 3 5 6 7 8 - jede Ziffer in einer neuen Zeile.

Js Aufgabe 3_10. Geben Sie die Summe aller Ganzzahlen aus aus 1 Vor 15 , ausgenommen von der Gesamtzahl 5 und 7 .

Anweisung beenden

Die Javasctipt-Sprache bietet einen Exit-Operator aus dem Programmcode - den Exit-Operator.
Am häufigsten wird der Operator verwendet, um Benutzereingabefehler zu beseitigen.


Betrachten wir ein Beispiel:

Beispiel 6: Fordern Sie den Benutzer auf, eine Nummer einzugeben. Wenn keine Nummer eingegeben wird, wird die Meldung angezeigt "Du brauchst eine Nummer!" und stoppen Sie das Programm.


✍ Lösung:
  • Initialisieren Sie eine Variable nummer der vom Benutzer in das Modal eingegebene Wert:
  • var number \u003d prompt ("Geben Sie eine Nummer ein");

  • Überprüfen Sie mit der Funktion parseInt, ob eine Zeichenfolge in eine Ganzzahl konvertiert wird, ob der eingegebene Wert eine Zahl ist:
  • number \u003d parseInt (number); // gibt NaN zurück - keine Zahl

    Wenn keine Zahl eingegeben wird, gibt die Funktion den Wert NaN (aus dem Englischen) zurück. keine Nummer - keine Nummer).

  • Überprüfen Sie den Wert der Variablen nummer Verwenden der isNaN-Funktion:
  • x \u003d isNaN (Zahl); // gibt true zurück, wenn der Wert nicht numerisch ist

    Die IsNaN-Funktion gibt einen Wert zurück wahr falls die Variable keine Zahl ist

  • Durch die Regel der "Lügen" veranlassen, dass der Wert der Variablen überprüft wird x... Wenn der Wert nicht numerisch ist, drucken Sie eine entsprechende Notiz und beenden Sie das Programm:
  • if (x) (alert ("Eine Nummer ist erforderlich!"); exit; // Programm beenden)

  • Um das Programm fortzusetzen (wenn der eingegebene Wert eine Zahl war), zeigen Sie das folgende Fenster mit einer Eingabeaufforderung an:
  • alert ("Geben Sie die zweite Nummer ein"); // Wenn Sie eine Nicht-Nummer eingeben, wird die Anweisung nicht ausgeführt

  • Testen Sie das Skript in einem Browser.

Fragen zur Selbstkontrolle:

  1. Listen Sie drei Schleifenparameter auf zum und erklären ihren Zweck.
  2. Welche Operatoren sollen die Schleife verlassen und unterbrechen? Nennen Sie Beispiele für ihre Verwendung.
  3. Wofür der Bediener ist ausfahrt?

Ist es möglich, mehrere Zähler in einem FOR zu haben?

Eine interessante Arbeit mit der for-Schleife ist mit möglich möglich gleichzeitig zwei Zähler in einem Zyklus.
Betrachten wir ein Beispiel:

Beispiel 7: Drucken Sie mit dem Skript die folgenden Variablen-Wert-Paare in drei Zeilen: i \u003d 0 j \u003d 2 i \u003d 1 j \u003d 3 i \u003d 2 j \u003d 4


✍ Lösung:
  • Organisieren Sie in der for-Schleife zwei Zähler: counter i, um die Sequenz auszugeben 0 1 2 , Zähler j zur Ausgabe der Sequenz 2 3 4 :
  • 1 2 3 für (i \u003d 0, j \u003d 2; i< 10 , j< 5 ; i++, j++ ) { }

    für (i \u003d 0, j \u003d 2; i<10, j<5; i++, j++) { }

    Jeder der drei Parameter der for-Schleife hat jetzt zwei Werte, die aufgelistet sind komma getrennt (Zum Beispiel der erste Parameter mit zwei Werten: i \u003d 0, j \u003d 2). Die Parameter selbst werden aufgelistet semikolon getrennt(;).

  • Verwenden Sie für die Ausgabe in jeder Zeile das Tag
    :
  • 1 2 3 4 für (i \u003d 0, j \u003d 2; i< 10 , j< 5 ; i++, j++ ) { document.write ("
    i \u003d ", i," j \u003d ", j);)

    für (i \u003d 0, j \u003d 2; i<10, j<5; i++, j++) { document.write("
    i \u003d ", i," j \u003d ", j);)

On-the-Fly-Seitengenerierung: Wie ist das?

Betrachten Sie vor der nächsten Aufgabe ein Beispiel hTML-Seite dynamisch erstellen mit Javascript.

Beispiel 8:

  • Abhängig von den vom Benutzer eingegebenen Daten müssen auf der Webseite dynamisch Listen mit Aufzählungszeichen und Nummern generiert werden: Fordern Sie den Benutzer zur Eingabe auf listenansicht (nummeriert (Nummer 1) oder beschriftet (Nummer 2)) und dann anzahl der Listenelemente.
  • Zeigen Sie je nach Antwort die Tags einer Liste mit Aufzählungszeichen oder einer Nummer mit der erforderlichen Anzahl von Elementen an.
  • Wenn ein nicht vorhandener Listentyp eingegeben wird, wird die Meldung angezeigt "Bitte geben Sie den richtigen Typ ein!" und beenden Sie das Programm ().

Erinnern wir uns an die Tags:
nummerierte Listen-Tags:

<ol\u003e <li\u003e <li\u003e <li\u003e </ ol\u003e

listen-Tags mit Aufzählungszeichen:

var listType \u003d prompt ("Geben Sie" 1 "für eine Liste mit Aufzählungszeichen ein," 2 "für eine nummerierte Liste");

  • Überprüfen Sie den eingegebenen Wert: Für eine nummerierte Liste (Nummer 1) geben Sie das Tag aus
      , für markiertes (Nummer 2) - Tag
        ... Wenn Sie einen anderen Wert eingegeben haben, drucken Sie eine Notiz und beenden Sie das Programm:

            ") else (alert (" Geben Sie den richtigen Typ ein "); exit;)

          • Initialisieren Sie eine Variable kolvo der vom Benutzer in das Modal eingegebene Wert:
          • var kolvo \u003d Eingabeaufforderung ("Geben Sie die Anzahl der Elemente ein");

          • Verwenden Sie die Funktion parseInt, um einen Zeichenfolgenwert in einen numerischen Wert umzuwandeln:
          • für (var i \u003d 1; i<=kolvo; i++) document.write("");

          • Da die Listen je nach Listentyp mit den entsprechenden Tags geschlossen werden, drucken Sie die schließenden Tags:
          • if (listType \u003d\u003d "1") document.write ("") else if (listType \u003d\u003d" 2 ") document.write ("" ) ;

            if (listType \u003d\u003d "1") document.write ("

        ") else if (listType \u003d\u003d" 2 ") document.write ("
      ");

    1. Testen Sie das Skript in einem Browser.
    2. Js Aufgabe 3_11.
      Schreiben Sie ein Skript, das Tags anzeigt eingang(Steuerelemente) unterschiedlicher Art, abhängig von der eingegebenen Ziffer:

      1 - textfeld,
      2 - taste,
      3 - radio(Schalter).

      Die Anzahl der angezeigten Tags sollte ebenfalls angefordert werden.

      Erinnern wir uns an die Tags:

      Für 1 - Textfeld: Für 2 - Tasten: Für 3 - Radio:

      Ausgabebeispiel:

      Js Aufgabe 3_12. Zeichnen Sie ein 9x9-Schachbrett mit Javascript für Schleifen. "Zeichnen" sollte das Board HTML-Tags für die Tabelle sein:

      Erinnern wir uns an die Tags:

      <tabellenrand \u003d "1" Breite \u003d "30%"\u003e <tr\u003e <td\u003e-</ td\u003e -</ td\u003e </ tr\u003e </ table\u003e

      --

      • Um 9 Linien zu zeichnen, müssen Sie eine externe for-Schleife mit einem Zähler i organisieren.
      • Um 9 Zellen in jeder Zeile zu zeichnen, müssen Sie eine innere (verschachtelte) for-Schleife mit einem Zähler j organisieren.
      • Verwenden Sie die document.write-Methode, um Zellen- und Zeilen-Tags zu rendern.

      Ergebnis:

      Zusätzlich:

      1. Drucken Sie die Multiplikationstabelle mit den Schleifenzählern (i und j) in die Tabellenzellen.
      2. Zeigen Sie die erste Zeile und die erste Spalte mit rotem Hintergrund an (Attribut der Tabellenzelle bgcolor):
        <td bgcolor \u003d "rot"\u003e-</ td\u003e

        -

      Ergebnis:


      Fragen zur Selbstkontrolle:

      1. Erklären Sie, was dynamisches Erstellen von Seiten bedeutet.
      2. Was ist das am häufigsten verwendete Sprachkonstrukt für die dynamische Seitenerstellung?

      Zyklische Anweisungen der JavaScript-Sprache - While

      Die Syntax für die while-Anweisung lautet:

      while (Bedingung) (//.. Block von Anweisungen ..);

      Beispiel: Zeigen Sie Potenzen von zwei bis zu 1000 (2, 4, 8 ... 512). Verwenden Sie die alert () -Methode


      ✍ Lösung:
      • Auflistung des Skripts:
      • 1 2 3 4 5 var a \u003d 1; während ein< 1000 ) { a*= 2 ; alert(a) ; }

        var a \u003d 1; während ein< 1000){ a*=2; alert(a); }

        a * \u003d 2 → die Operation der zusammengesetzten Zuordnung wird verwendet: das mit der Zuordnung kombinierte Produkt, d.h. gleich wie a \u003d a * 2

      • Testen Sie das Ergebnis in einem Browser.

      Wie funktionieren die Anweisungen break und continue in einer while-Schleife?

      Beispiel:

      var a \u003d 1; während ein< 1000 ) { a*= 2 ; if (a== 64 ) continue ; if (a== 256 ) break ; alert(a) ; }

      var a \u003d 1; während ein< 1000){ a*=2; if (a==64) continue; if (a==256) break; alert(a); }

      Zweierpotenzen werden an ausgegeben 128 inklusive und der Wert 64 wird übersprungen. Jene. In den Dialogfeldern sehen wir: 2 4 8 16 32 128

      Js Aufgabe 3_13. Welche Werte werden im folgenden Code-Snippet angezeigt?

      var counter \u003d 5; während (Zähler< 10) { counter++; document.write("Counter " + counter); break; document.write("Эта строка не выполнится."); }


      Js Aufgabe 3_14. Schreiben Sie den Erektionscode x soweit ymit einer while-Schleife. Fragen Sie Variablenwerte ab und geben Sie das Ergebnis mit alert () aus.

      Vervollständigen Sie den Code:

      1 2 3 4 5 6 7 8 9 var x \u003d ...; var y \u003d ...; Zähler \u003d 1; chislo \u003d x; while (...) (chislo \u003d x * ...; counter \u003d ...;) alert (chislo);

      var x \u003d ...; var y \u003d ...; Zähler \u003d 1; chislo \u003d x; while (...) (chislo \u003d x * ...; counter \u003d ...;) alert (chislo);

      A Korrigieren Sie den Fehler im Programm, mit dem die Fakultät einer Zahl ermittelt werden soll:

      1 2 3 4 5 6 7 8 9 10 11 12 13 var counter \u003d prompt ("Geben Sie eine Nummer ein"); var Fakultät \u003d 1; document.write ( "Zahlenfaktor:" + counter + "! \u003d"); do (if (Zähler \u003d\u003d 0) (Fakultät \u003d 1; Pause;) Fakultät \u003d Fakultät / Zähler; Zähler \u003d Zähler + 1;) while (Zähler\u003e 0); document.write (Fakultät);

      var counter \u003d prompt ("Geben Sie eine Nummer ein"); var Fakultät \u003d 1; document.write ("Zahlenfaktor:" + Zähler + "! \u003d"); do (if (Zähler \u003d\u003d 0) (Fakultät \u003d 1; Pause;) Fakultät \u003d Fakultät / Zähler; Zähler \u003d Zähler + 1;) while (Zähler\u003e 0); document.write (Fakultät);


      Js Aufgabe 3_16. Ändern Sie das Programm für Benutzereingaben:

      Fordern Sie zur Eingabe eines Benutzernamens auf, bis der Benutzer tatsächlich einen Namen eingibt (d. H. Das Feld wird tatsächlich ausgefüllt und die Abbrechen-Taste wird nicht gedrückt). Wenn der Name eingegeben wird, wird ausgegeben "Hallo Name!"... Dokument.

      Wie finde ich Fehler in Javascript?

      In einigen Fällen funktioniert der Code auf der Seite aus irgendeinem Grund nicht. Wo soll nach dem Fehler gesucht werden? In solchen Fällen können Sie die Anweisung try..catch verwenden.

      Die Anweisung try..catch versucht, einen Code auszuführen. Wenn der Code einen Fehler enthält, kann ein Fehler auf dem Bildschirm angezeigt werden.
      Der Fehler wird im e.message-Objekt gespeichert.

      Betrachten wir die Arbeit des Bedieners anhand eines Beispiels:

      Beispiel: Schreiben Sie eine Anweisung mit einem Fehler im Programm. Überprüfen Sie den vermuteten fehlerhaften Code auf einen Fehler: Wenn der Code einen Fehler enthält, zeigen Sie eine Meldung an "Fehlerbehandlung: Fehlername"... Nachdem Sie den fehlerhaften Operator überprüft haben, geben Sie die Nachricht aus, unabhängig davon, ob ein Fehler im Code vorliegt "Aktionen beenden"


      ✍ Lösung:
      • Als fehlerhafte Nachricht verwenden wir die prompt () -Methode, die mit einem Fehler geschrieben wurde - promt ()... Fügen Sie die Fehlermeldung in einen try-Block ein:
      • alert ("vor"); try (promt ("Zahl eingeben"); // Operator mit einem Fehler)

        Versuchen Sie es aus dem Englischen. - "try", daher setzen wir die try-Anweisung vor ein Codefragment, das möglicherweise einen Fehler enthält (in unserem Fall liegt tatsächlich ein Fehler vor).

      • Die Fehlermeldung sollte in einen Catch-Block gestellt werden:
      • 6 7 8 9 fangen (e) (Alarm ( "Fehlerbehandlung:"+ e.message); )

        catch (e) (alert ("Fehlerbehandlung:" + e.message);)

        Wenn wirklich ein Fehler vorliegt, speichert der catch-Operator diesen Fehler im e-Objekt. Später kann es im Dialogfeld e.message angezeigt werden.

      • Platzieren Sie die letzte Nachricht, die angezeigt werden soll, unabhängig davon, ob der Code fehlerhaft ist, in einem finally-Block:
      • finally (alert ("Aktionen beenden");) alert ("after");

        Wenn ein Fehler auftritt, führt der Interpreter nach der Anzeige in unserem Beispiel den catch-Block aus und schließlich (ab Englisch "Vervollständigung", "finally"), der immer ausgeführt wird, unabhängig davon, ob ein Fehler aufgetreten ist oder nicht. Auch wenn im catch-Block ein Fehler aufgetreten ist.

      Wichtig: Der Endblock ist in der Konstruktion optional.


      Js Aufgabe 3_17. Folgen Sie dem obigen Beispiel mit den folgenden Änderungen:

    3. Entfernen Sie den finally-Block und beobachten Sie, wie der Code ausgeführt wird.
    4. Ersetzen Sie den fehlerhaften Operator durch einen fehlerfreien und sehen Sie, was das Ergebnis sein wird.
    5. Zusammenfassung:

      Die Lektion umfasste die folgenden Javascript-Operatoren und -Konstruktionen:

      Javascript bedingte Anweisungen:

    6. If-Anweisung
    7. Bedingte Zuordnung (ternärer Operator)
    8. Switch-Anweisung
    9. Schleifenoperatoren:

    10. Für Schleife
    11. While-Schleife
    12. Die do ... while-Schleife
    13. Für ... in Schleife
    14. Letzte Aufgabe Js 3_18.
      Erstellen Sie ein Spiel für zwei:

      1. Das Programm fordert den ersten Spieler auf, eine Nummer von einzugeben 1 Vor 100 (Der zweite Spieler sieht die eingegebene Nummer nicht). Dann wird der zweite Spieler gebeten, die eingegebene Nummer zu erraten. Die Nachricht wird als Antwort angezeigt "wenige" oder "viel" abhängig von der eingegebenen Antwort. Wenn der Spieler richtig vermutet, werden Glückwünsche angezeigt. Wenn er falsch vermutet, wird das Spiel fortgesetzt (bis die Zahl tatsächlich erraten wurde).
      2. Berechnen Sie die Anzahl der Versuche und geben Sie das Ergebnis zurück, wenn die Anzahl erraten wurde.


      Fragen zur Selbstkontrolle:

      1. Wann ist es ratsam, eine For In-Schleife zu verwenden? Was ist ein Beispiel für seine Verwendung.
      2. Was ist der Zweck der try..catch-Anweisung?
      3. Erläutern Sie den Zweck jedes Blocks der try..catch-Anweisung.

      Die Quelle für dieses interaktive Beispiel wird in einem GitHub-Repository gespeichert. Wenn Sie einen Beitrag zum interaktiven Beispielprojekt leisten möchten, klonen Sie bitte https://github.com/mdn/interactive-examples und senden Sie uns eine Pull-Anfrage.

      Syntax

      if (Bedingung) Anweisung1 Bedingung Ein Ausdruck, der entweder als wahr oder als falsch angesehen wird. Anweisung1 Anweisung, die ausgeführt wird, wenn die Bedingung wahr ist. Kann eine beliebige Anweisung sein, einschließlich weiterer verschachtelter if-Anweisungen. Verwenden Sie zum Ausführen mehrerer Anweisungen eine Blockanweisung (...), um diese Anweisungen zu gruppieren. Verwenden Sie eine leere Anweisung, um keine Anweisungen auszuführen. Anweisung2 Anweisung, die ausgeführt wird, wenn die Bedingung falsch ist und die else-Klausel vorhanden ist. Kann eine beliebige Anweisung sein, einschließlich Blockanweisungen und weiter verschachtelter if-Anweisungen.

      Beschreibung

      Mehrere if ... else-Anweisungen können verschachtelt werden, um eine else if-Klausel zu erstellen. Beachten Sie, dass JavaScript kein anderes Schlüsselwort (in einem Wort) enthält.

      If (Bedingung1) Anweisung1 else if (Bedingung2) Anweisung2 else if (Bedingung3) Anweisung3 ... else AnweisungN

      Um zu sehen, wie dies funktioniert, würde es so aussehen, wenn die Verschachtelung richtig eingerückt wäre:

      If (Bedingung1) Anweisung1 else if (Bedingung2) Anweisung2 else if (Bedingung3) ...

      Um mehrere Anweisungen innerhalb einer Klausel auszuführen, verwenden Sie eine Blockanweisung ((...)), um diese Anweisungen zu gruppieren. Im Allgemeinen wird empfohlen, immer Blockanweisungen zu verwenden, insbesondere in Code mit verschachtelten if-Anweisungen:

      If (Bedingung) (Anweisungen1) else (Anweisungen2)

      Verwechseln Sie die primitiven Booleschen Werte wahr und falsch nicht mit der Wahrhaftigkeit oder Falschheit des Booleschen Objekts. Jeder Wert, der nicht falsch, undefiniert, , 0, -0, NaN oder die leere Zeichenfolge ("") ist, und jedes Objekt, einschließlich eines Booleschen Objekts, dessen Wert falsch ist, wird als wahr angesehen, wenn es als Bedingung verwendet wird. Beispielsweise:

      Var b \u003d neuer Boolescher Wert (false); if (b) // diese Bedingung ist wahr

      Beispiele

      Verwenden von if ... else

      if (cipher_char \u003d\u003d\u003d from_char) (result \u003d result + to_char; x ++;) else (result \u003d result + clear_char;)

      Mit else if

      Beachten Sie, dass JavaScript keine elseif-Syntax enthält. Sie können es jedoch mit einem Leerzeichen zwischen else und if schreiben:

      Wenn (x\u003e 50) (/ * das Richtige tun * /) sonst wenn (x\u003e 5) (/ * das Richtige tun * /) sonst (/ * das Richtige tun * /)

      Zuordnung innerhalb des bedingten Ausdrucks

      Es ist ratsam, keine einfachen Zuweisungen in einem bedingten Ausdruck zu verwenden, da die Zuweisung beim Blick über den Code mit Gleichheit verwechselt werden kann. Verwenden Sie beispielsweise nicht den folgenden Code:

      Wenn (x \u003d y) (/ * das Richtige tun * /)

      Wenn Sie eine Zuweisung in einem bedingten Ausdruck verwenden müssen, ist es üblich, zusätzliche Klammern um die Zuweisung zu setzen. Beispielsweise:

      Wenn ((x \u003d y)) (/ * das Richtige tun * /)

      Spezifikationen

      Spezifikation Status Kommentar
      Neuester Entwurf von ECMAScript (ECMA-262)
      Entwurf
      ECMAScript 2015 (6. Ausgabe, ECMA-262)
      Die Definition von "if-Anweisung" in dieser Spezifikation.
      Standard
      ECMAScript 5.1 (ECMA-262)
      Die Definition von "if-Anweisung" in dieser Spezifikation.
      Standard
      ECMAScript 3. Ausgabe (ECMA-262)
      Die Definition von "if-Anweisung" in dieser Spezifikation.
      Standard
      ECMAScript 1. Auflage (ECMA-262)
      Die Definition von "if-Anweisung" in dieser Spezifikation.
      Standard Erstdefinition

      Browser-Kompatibilität

      Die Kompatibilitätstabelle auf dieser Seite wird aus strukturierten Daten generiert. Wenn Sie zu den Daten beitragen möchten, besuchen Sie bitte https://github.com/mdn/browser-compat-data und senden Sie uns eine Pull-Anfrage.

      Aktualisieren Sie die Kompatibilitätsdaten auf GitHub

      DesktopHandy, MobiltelefonServer
      ChromKanteFeuerfuchsInternet ExplorerOperSafariAndroid WebviewChrome für AndroidFirefox für AndroidOpera für AndroidSafari unter iOSSamsung InternetNode.js
      ansonstenChrome Volle Unterstützung 1Edge Volle Unterstützung 12Firefox Volle Unterstützung 1IE Volle Unterstützung 3Opera Volle Unterstützung JaSafari Volle Unterstützung JaWebView Android Volle Unterstützung 1Chrome Android Volle Unterstützung 18Firefox Android Volle Unterstützung 4Opera Android Volle Unterstützung JaSafari iOS Volle Unterstützung JaSamsung Internet Android Volle Unterstützung 1.0nodejs Volle Unterstützung Ja

      In diesem Beispiel deklarieren wir zunächst vier Variablen mit dem Schlüsselwort var und weisen ihnen sofort numerische Werte zu. Dann ändern wir mit den Operatoren Inkrementieren und Dekrementieren die Werte der Zahlen. Informationen werden mit der Funktion angezeigt Echo (siehe Artikel ""). Um den Namen des Objekts nicht noch einmal zu schreiben, habe ich die Konstruktion verwendet mit ().

      Logische Operatoren

      Logische Operatoren werden verwendet, um die Bedingung zu überprüfen. Um mich nicht zu wiederholen, werde ich eine Abkürzung verwenden: Der linke Operand ist LO und der rechte Operand ist P.O.

      • && - Logisches "UND"
      • || - "ODER"
      • ! - "NICHT"
      • \u003e - L.O. mehr P.O.
      • \u003e \u003d - L.O. ist größer oder gleich P.O.
      • < - Л.О. меньше П.О.
      • <= - Л.О. меньше или равен П.О.
      • \u003d\u003d - L.O. gleich P.O.
      • ! \u003d - L.O. ungleich P.O.
      • | \u003d - L.O. gleich sich selbst ODER P.O.
      • & \u003d - L.O. gleich mir UND P.O.
      • ^ \u003d - EXKLUSIV ODER

      Betrachten Sie nun das folgende Skript:

      //***************************************** // logische Operationen // logik_if_else.js //***************************************** var a \u003d 10, b \u003d 100, WshShell, Titel, msg1, msg2, msg3, msg4, vbInformation \u003d 64; // Eine Instanz der WScript.Shell-Klasse erstellen WshShell \u003d WScript.CreateObject ("WScript.Shell"); Titel \u003d "Arbeiten mit IF ELSE JS Conditional Statement";; mit (WshShell) (wenn (a\u003e \u003d 5 && a<= 100 ) //истина msg1 = "TRUE" ; else msg1 = "FALSE" ; Popup (msg1, 5 , title, vbInformation) ; if (a>\u003d 5 || b \u003d\u003d 100) // true msg2 \u003d "TRUE"; sonst msg2 \u003d "FALSE"; Popup (msg2, 5, title, vbInformation); // bedingte Anweisung js falls sonst if (! a) // false msg3 \u003d "TRUE"; sonst msg3 \u003d "FALSE"; Popup (msg3, 5, title, vbInformation); if (a & \u003d 100) // false msg4 \u003d "TRUE"; sonst msg4 \u003d "FALSE"; Popup (msg4, 5, title, vbInformation); )

      Wie im vorherigen Skript habe ich hier die Konstruktion verwendet mit um den Programmcode zu verkürzen. Zur Anzeige von Informationen haben wir jedoch die Funktion verwendet Aufpoppen (siehe Artikel ""). Infolgedessen werden die Dialogfelder nach einigen Sekunden automatisch geschlossen. Bitte beachten Sie, dass wir in diesem Beispiel keine geschweiften Klammern verwendet haben. In der bedingten Anweisung js if sind sie nur relevant, wenn Sie mehr als eine, aber mehrere Codezeilen ausführen müssen.

      Schauen wir uns zum Schluss ein praktisches Beispiel an, wie das Lösen einer quadratischen Gleichung:

      // Eine quadratische Gleichung lösen // uravnenije_if_else.js // *********************************************************** var a, b, c, d, x, x1, x2; // Variablen deklarieren a \u003d - 2; b \u003d 6; c \u003d 20; // Suche nach Diskriminanten d \u003d Math .pow (b, 2) - 4 * a * c; if (d \u003d\u003d 0) (x \u003d b / (2 * a); msg \u003d "Die Gleichung hat eine Lösung, x ist genau" + x) sonst (wenn (d\u003e 0) (x1 \u003d (- b + Math .sqrt (d)) / (2 * a); x2 \u003d (- b - Math .sqrt (d)) / (2 * a) ; msg \u003d "Die Gleichung hat genau zwei Lösungen \\ n x1" + x1 + " \\ n x2 genau " + x2; // bedingte Anweisung wenn sonst js ) else msg \u003d "Keine Lösung"; ) WScript.Echo (msg);

      Im Alltag ist es oft notwendig, je nach Zustand eine Entscheidung zu treffen. Wenn zum Beispiel das Wetter am Wochenende warm ist, gehen wir zum Meer, andernfalls sitzen wir zu Hause, wenn es bewölkt ist.

      In der Programmierung ist dies auch sehr häufig. Dafür gibt es Zwei bedingte Anweisungen sind if-else und switch-case... In diesem Artikel werde ich Ihnen den if-else-Operator und im nächsten Artikel den Switch-Fall erläutern.

      If-else-Syntax für bedingte Anweisungen Folgendes:


      Wenn die Bedingung wahr ist, wird der Code aus dem if-Block ausgeführt. Wenn die Bedingung falsch ist, wird der Code aus dem else-Block ausgeführt.

      Nehmen wir zum besseren Verständnis ein so einfaches Beispiel: Wir haben einen bestimmten Geldbetrag und möchten ein Auto kaufen. Hier entsteht sofort ein solcher Zustand. Wenn wir genug Geld haben, können wir dieses Auto kaufen, sonst können wir es nicht.

      Var Geld \u003d 35000; // Nehmen wir an, wir haben 35.000 Euro // Das Auto, das wir kaufen wollen, kostet 50.000 Euro. Und die folgende Bedingung tritt auf, wenn (Geld\u003e 50000) (document.write ("Wir können ein Auto kaufen");) else (document.write ("Nicht genug Geld, um ein Auto zu kaufen");)

      Wir speichern das Dokument, öffnen es in einem Browser und sehen, dass die folgende Meldung auf der Seite "Nicht genug Geld, um ein Auto zu kaufen" angezeigt wird. Wenn wir mehr als 50.000 Euro hätten, würde der Code aus dem if-Block ausgeführt. Wenn wir genau 50.000 Euro hätten, könnten wir auch kein Auto kaufen, da 50.000 nicht mehr als 50.000 sind. Damit die Bedingung in diesem Fall erfüllt ist, müssen Sie ein Gleichheitszeichen (\u003e \u003d) schreiben. ...

      Kommentar! Die logische Operation gleich wird mit zwei Gleichheitszeichen (\u003d\u003d) geschrieben.... Es gibt auch eine logische Operation kleiner oder gleich (

      mit geschweiften Klammern

      Wenn es nur einen Operator gibt, sind geschweifte Klammern optional. Wenn sich mehr als ein Operator im Block befindet, sind geschweifte Klammern erforderlich.

      Das obige Beispiel funktioniert ohne geschweifte Klammern, da beide Blöcke nur eine Anweisung enthalten.

      Alle logischen Operationen können in das if geschrieben werdenob sie einfach oder komplex sind. Sie können auch die Operatoren AND (&&) und OR (||) verwenden.

      Kommentar! Der else-Block ist optional.

      Wenn zum Beispiel a gleich b und c gleich d ist, zeigen wir die entsprechende Meldung an. Wenn es keinen anderen Block gibt, gehen wir einfach weiter zur nächsten Zeile.

      Var a \u003d 4, b \u003d 4, c \u003d 8, d \u003d 8; if ((a \u003d\u003d b) && (c \u003d\u003d d)) document.write ("a ist gleich b UND c ist gleich d"); document.write ("Nächste Codezeile");

      Aussage wenn - sonst wenn - sonst

      Nach dem if-Block können ein oder mehrere andere if-Blöcke folgen, und am Ende befindet sich ein else-Block. Dies ist nützlich, wenn Sie mehr als eine Bedingung verwenden müssen.


      Nehmen wir zum besseren Verständnis ein Beispiel aus dem Alltag. Zum Beispiel haben wir eine bestimmte Anzahl von Verkaufsstellen. Wenn wir nur eine Steckdose im Raum haben, können wir nur ein Gerät anschließen, wenn es zwei Steckdosen gibt, können wir zwei Geräte anschließen, und wenn es mehr gibt, können wir alle Geräte von zu Hause aus an das Stromnetz anschließen.

      Fahren wir nun mit der Programmierung fort.

      Var-Buchse \u003d 2; // Anzahl der Sockets im Haus if (Socket \u003d\u003d 1) document.write ("

      Wir können nur ein Gerät anschließen

      "); else if (socket \u003d\u003d 2) (document.write ("

      Wir können nur zwei Geräte verbinden

      "); document.write ("

      Zum Beispiel Fernseher und Laptop

      ");) else (document.write ("

      Wir können alle Geräte von zu Hause aus an das Stromnetz anschließen

      "); }

      Abhängig vom Wert der Socket-Variablen wird dieser oder jener Codeblock ausgelöst. Wie Sie wahrscheinlich bereits verstanden haben, funktioniert der erste Codeblock, wenn Socket gleich 1 ist. Wenn Socket 2 ist, wird der zweite Codeblock ausgelöst. Wenn Socket einen anderen Wert hat (sogar eine negative Zahl), wird der dritte Codeblock ausgelöst.

      Kurzschrift, wenn sonst

      Die abgekürzte Notation kann verwendet werden, wenn eine Variable abhängig von einer bestimmten Bedingung den einen oder anderen Wert erhalten kann.


      Wenn beispielsweise der Wert der Variablen a größer als der Wert der Variablen b ist, schreiben wir in die Variable x die folgende Meldung: "Die Variable a ist größer als die Variable b", andernfalls schreiben wir: "Die Variable a ist kleiner als die Variable b".

      Var a \u003d 50, b \u003d 100, x; x \u003d (a\u003e b)? ""

      Variable a mehr Variable b

      " : "

      Variable a weniger Variable b

      "; // Das resultierende Ergebnis drucken document.write (x);

      Das ist alles, worüber ich Ihnen in diesem Artikel erzählen wollte. Der if-else-Bedingungsoperator wird häufiger als in jedem Skript verwendet, daher ist es sehr wichtig, ihn zu kennen und zu verstehen. Im nächsten Artikel werde ich Ihnen eine weitere bedingte switch-case-Anweisung erläutern.