Javascript koşul operatörü. Javascript'teki koşullu ifadeler - IF-ELSE yapısı - Javascript Koşulları - Temeller. JavaScript'teki diğer koşul ifadeleri

Kontrol talimatları program kodunun yürütülmesini kontrol eden talimatlardır. Tipik olarak, bir kontrol talimatındaki çalıştırılabilir koda bu talimatın gövdesi denir.

Kontrol talimatları iç içe yerleştirilebilir veya diğer kontrol talimatlarının içinde kullanılabilir.

Koşullu ifadeler

Varsayılan olarak, JavaScript yorumlayıcı talimatları kaynak kodda göründükleri sırayla birbiri ardına yürütür. Bazı talimatların uygulanmasının veya uygulanmamasının belirli bir koşulun yerine getirilmesine veya yerine getirilmemesine bağlı olması gereken durumlarda, koşullu ifadeler kullanılır.

If ifadesi

İf ifadesinin iki biçimi vardır. İlk formun sözdizimi şöyledir:

Parantez içindeki ifadeye yürütme koşulu ifadeler veya koşullu ise kısaca. İfadenin değeri ilk olarak değerlendirilir. Elde edilen değer, gerekirse, dolaylı olarak bir boole türüne dönüştürülür. İfade doğru olarak değerlendirilirse, ifade çalıştırılır. İfade yanlış döndürürse, ifade çalıştırılmaz:

Eğer (doğru) uyarı ("Tamamlandı!"); if (false) alert ("Çalıştırılmayacak!");

İf sözdizimi yalnızca bir ifadeyi çalıştırmanıza izin verir, ancak birden fazla ifade çalıştırmanız gerekirse, bileşik bir ifade kullanmanız gerekir:

If (true) (var str \u003d "Merhaba!"; Uyarı (str);)

İkinci formun sözdizimi şöyledir:

If (ifade) ifadesi; else ifadesi;

Else anahtar sözcüğü, koşul yanlışsa yürütülecek bir ifade eklemenizi sağlar:

Eğer (yanlış) uyarı ("Çalıştırılmayacak"); else alert ("Yürüt");

Daha önce de belirtildiği gibi, aşağıdaki yapıları oluşturmanıza izin veren kontrol talimatları iç içe yerleştirilebilir:

Var num \u003d 2; if (num \u003d\u003d 1) (alert ("num value:" + num);) else if (num \u003d\u003d 2) (alert ("num value:" + num);) else (alert ("Böyle bir sayı bilmiyorum ! ");)

Bu kodla ilgili özel bir şey yok. Bu basitçe, her if ifadesinin önceki if ifadesinin else'in bir parçası olduğu bir ifade dizisidir. İlk bakışta, bu gösterim biçimi tamamen açık görünmeyebilir, bu nedenle if ifadelerinin iç içe geçtiğini gösteren sözdizimsel olarak eşdeğer bir form düşünün:

Var num \u003d 2; if (num \u003d\u003d 1) (alert ("num value:" + num);) else (if (num \u003d\u003d 2) (alert ("num value:" + num);) else (alert ("Bunu bilmiyorum sayılar! ");))

Bu örnekte, önce var anahtar sözcüğünü kullanarak dört değişken bildiriyoruz ve hemen bunlara sayısal değerler atıyoruz. Daha sonra, artırma ve azaltma operatörlerini kullanarak sayıların değerlerini değiştiririz. Bilgi, işlev kullanılarak görüntülenir Eko ("" makalesine bakın). Nesnenin adını bir kez daha yazmamak için yapıyı kullandım ile ().

Mantıksal operatörler

Koşulu kontrol ederken mantıksal operatörler kullanılır, böylece tekrar etmemek için bir kısaltma yapacağım: sol operand L.O. ve sağ operand P.O.

  • && - Mantıksal "VE"
  • || - "VEYA"
  • ! - "DEĞİL"
  • \u003e - L.O. daha fazla P.O.
  • \u003e \u003d - L.O. P.O.'dan büyük veya ona eşittir.
  • < - Л.О. меньше П.О.
  • <= - Л.О. меньше или равен П.О.
  • \u003d\u003d - L.O. P.O.'ya eşit
  • ! \u003d - L.O. P.O.'ya eşit değildir.
  • | \u003d - L.O. kendisine eşit VEYA P.O.
  • & \u003d - L.O. kendime eşit ve P.O.
  • ^ \u003d - ÖZEL VEYA

Şimdi aşağıdaki betiği düşünün:

//***************************************** // mantıksal işlemler // logik_if_else.js //***************************************** var a \u003d 10, b \u003d 100, WshShell, başlık, msg1, msg2, msg3, msg4, vbInformation \u003d 64; // WScript.Shell sınıfının bir örneğini oluşturun WshShell \u003d WScript.CreateObject ("WScript.Shell"); başlık \u003d "IF ELSE JS Koşullu İfadesi ile Çalışma"; ile (WshShell) (if (a\u003e \u003d 5 && a<= 100 ) //истина msg1 = "TRUE" ; else msg1 = "FALSE" ; Popup (msg1, 5 , title, vbInformation) ; if (a>\u003d 5 || b \u003d\u003d 100) // doğru msg2 \u003d "DOĞRU"; başka msg2 \u003d "YANLIŞ"; Popup (msg2, 5, title, vbInformation); // koşullu ifade js if else eğer (! a) // yanlış msg3 \u003d "DOĞRU"; başka msg3 \u003d "YANLIŞ"; Popup (msg3, 5, title, vbInformation); eğer (a & \u003d 100) // yanlış msg4 \u003d "DOĞRU"; başka msg4 \u003d "YANLIŞ"; Popup (msg4, 5, title, vbInformation); )

Önceki senaryoda olduğu gibi, burada inşaatı kullandım ile program kodunu kısaltmak için. Ancak, bilgileri görüntülemek için işlevi kullandık Açılır ("" makalesine bakın). Sonuç olarak, iletişim kutuları birkaç saniye sonra otomatik olarak kapanacaktır. Lütfen bu örnekte küme parantezi kullanmadığımızı unutmayın. js if koşullu ifadede, yalnızca birden fazla kod satırı çalıştırmanız gerektiğinde, ancak birkaç satırda geçerlidir.

Son olarak, ikinci dereceden denklem çözme gibi pratik bir örneğe bakalım:

// İkinci dereceden bir denklem çözme // uravnenije_if_else.js // *********************************************************** var a, b, c, d, x, x1, x2; // Değişkenleri bildirin a \u003d - 2; b \u003d 6; c \u003d 20; // Ayrımcı aranıyor d \u003d Matematik .pow (b, 2) - 4 * a * c; eğer (d \u003d\u003d 0) (x \u003d b / (2 * a); msg \u003d "Denklemin bir çözümü var, x tam olarak" + x) else (if (d\u003e 0) (x1 \u003d (- b + Math .sqrt (d)) / (2 * a); x2 \u003d (- b- Math .sqrt (d)) / (2 * a) ; msg \u003d "Denklemin iki çözümü vardır \\ n x1 tam olarak" + x1 + " \\ n x2 tam olarak " + x2; // aksi takdirde koşullu ifade js ) else msg \u003d "Çözüm yok"; ) WScript.Echo (msg);

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

Durum a\u003e 1 doğrudur, sonra değişken b değer atamak 100 aksi takdirde b değişkenine değer atanır 200 .

Js görevi 3_4. Kod tamamlama: 3 yerel değişken, var anahtar sözcüğü kullanılarak bildirilir. Aşağıdaki üçlü operatörün değerini max değişkenine atamak gerekir: a, b'den büyükse, o zaman a döndürürüz, aksi takdirde b döndürürüz.
Kod pasajı:

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


Kendini kontrol etmek için sorular:

  1. Üçlü operatörün sözdizimi nedir?
  2. Üçlü operatörün kaç argümanı vardır?

JavaScript'te operatörü değiştir - anahtar

JavaScript anahtar deyimi, bir değişkeni birden çok değer için test etmek için kullanılır:

Sözdizimi:

switch (değişken veya ifade) (case seçenek1: // .. ifade bloğu .. break case option2: // .. ifade bloğu .. break default: // .. ifade bloğu ..)

Bir değişkenin veya ifadenin değeri kontrol edilir: her birinde durum uygun bir değer olması durumunda değerlerden biri kontrol edilir, verilene karşılık gelen bir veya daha fazla ifade bloğu durum.

Varsayılan hizmet kelimesi ile başlayan blok ihmal edilebilir. Tümünde listelenen değerlerden hiçbiri yoksa blok ifadeleri yürütülecektir. durum uygun değil.

Önemli: Break ifadesi, değişkenin her dikkate alınan değerinden sonra (her bir durum); kullanmazsanız, aşağıdaki tüm operatörler görüntülenecektir

Operatörle karşılaştırın EĞER:

var a \u003d 2; switch (a) (case 0: // if (a \u003d\u003d\u003d 0) case 1: // if (a \u003d\u003d\u003d 0) alert ("Sıfır veya bir"); // sonra çıktı ... break; case 2: // if (a \u003d\u003d\u003d 2) alert ("İki"); // sonra göster ... break; default: // else alert ("Çok"); // aksi halde göster ...)

Birden çok seçeneği nasıl gruplandırırım?

Aynı operatörleri çalıştırmak için birden fazla durum... Yukarıdaki örnekte olduğu gibi:

Durum 0: durum 1: uyarı ("Sıfır veya bir"); kırmak; ...

A \u003d 0 ve a \u003d 1 ile aynı ifade çalıştırılır: alert ("Sıfır veya bir");

Örnek 4: Kullanıcıdan bir renk girmesini isteyin. Girilen rengin İngilizce çevirisini görüntüleyin. Renk için "mavi" ve "mavi" aynı değeri döndür.


✍ Çözüm:
  • HTML iskeleti ve etiketi ile bir web sayfası oluşturun senaryo.
  • Bir değişkeni başlatın renk
  • var color \u003d istemi ("Ne renk?");

    var color \u003d istemi ("Ne renk?");

  • Yapıyı kullanarak bir değişkenin değerini kontrol edin switсh, her değer için çıktı - karşılık gelen çeviri:
  • switch (renk) (case "red": alert ("red"); break; case "green": alert ("yeşil"); break; // ...

    Değişken renk"kırmızı" değerine sahiptir, sonra çeviriyi kalıcı pencerede görüntüleyin - "kırmızı" ve yapımdan çıkın (ara;). Değişken renk "yeşil" değerine sahiptir, ardından çeviriyi kalıcı pencerede görüntüleyin - "yeşil" ve yapımdan çıkın (ara;).

  • Çiçekler için "mavi" ve "mavi" gruplama yapın:
  • // ... case "blue": case "blue": alert ("mavi"); kırmak; // ...

    Değişken renkmavi veya değişken renk"mavi" değerine sahiptir, ardından çeviriyi kalıcı pencerede görüntüleyin - "mavi" ve yapımdan çıkın (ara;).

  • Program tarafından sağlanmayan renkler için çıktıyı düzenleyin:
  • // ... varsayılan: uyarı ( "bu renk hakkında hiçbir bilgimiz yok")) // son anahtarı

    // ... varsayılan: alert ("y bu renk hakkında bilgimiz yok")) // son anahtarı

  • Komut dosyasını bir tarayıcıda test edin.

Js görevi 3_6. Aşağıdaki kod parçacığında hataları bulun ve düzeltin:

14 15 16 17 var sayı \u003d bilgi istemi ( "1 veya 2 sayısını girin:"); switch (sayı) (case "1" (document.write ("One");); break; case "2" (document.write ("Two");); break; varsayılan (document.write ( "1 ve 2 dışında bir değer girdiniz") ; } ; }

var sayı \u003d bilgi istemi ("1 veya 2 sayısını girin:"); switch (sayı) (case "1" (document.write ("One");); break; case "2" (document.write ("Two");); break; varsayılan (document.write (" 1 ve 2 dışında bir değer "););)


Js görevi 3_7. Aşağıdaki kod yürütüldüğünde ekranda ne görüntülenecek?:

1 2 3 4 5 6 7 8 9 10 11 12 13 var değer \u003d "2"; switch (değer) (case "1": case "2": case "3": document.write ("Hello"); break; case "4": case "5": document.write ("World"); varsayılan: document.write ("Hata");)

var değer \u003d "2"; switch (değer) (case "1": case "2": case "3": document.write ("Hello"); break; case "4": case "5": document.write ("World"); varsayılan: document.write ("Hata");)


Js görevi 3_8. Kullanıcıdan bir sayı istenir - daldaki karga sayısı. Girilen numaraya bağlı olarak (en fazla 10) şu mesajı görüntüleyin: - Bir dalda oturmak 1 karga - Bir şubeye oturur 4 karga - Bir şubeye oturur 10 karga

  1. Girilen numaraya bağlı olarak, kelimenin sonu değişir "karga".
  2. Kontrol etmek için, Anahtar javascript operatörünü kullanın.
  3. Bu sayfayı sonuçlar klasörüne kaydedin (daha fazla çalışma için faydalı olacaktır).


Kendini kontrol etmek için sorular:

  1. Yapının koşullu operatör olarak kullanılması ne zaman tavsiye edilir? değiştirmek?
  2. İfadedeki varsayılan blok nedir? değiştirmek?
  3. Yapım aşamasında break ifadesinin kullanılması zorunlu mu değiştirmek?
  4. Bir operatörde birden çok değer varyantı için gruplama nasıl gerçekleştirilir? değiştirmek?

JavaScript dilinin döngüsel operatörleri - için

Sözdizimi:

for (sayacın başlangıç \u200b\u200bdeğeri; koşul; sayacın artışı) (//.. ifade bloğu ..)

Önemli: Javascript for içindeki bir döngü, döngüsel eylemlerin kaç kez tekrarlanması gerektiği önceden bilindiğinde kullanılır (döngüde kaç yineleme vardır)

  • Yineleme sayacının başlangıç \u200b\u200bdeğeri olarak bir atama ifadesi kullanılır: örneğin, i \u003d 0 - döngü sayacı sıfırdan başlar:
  • for (var i \u003d 0; koşul; sayaç artışı) (//.. ifade bloğu ..)

  • Sayaç artışı olarak, sayacın artması gereken adım belirtilir: örneğin, döngünün her yinelemesine, artışın eşlik edeceğini belirtir. 1 :
  • for (var i \u003d 0; koşul; i ++) (//.. ifade bloğu ..)

  • Döngü koşulu, sayacın bitiş değeridir: örneğin, i10 döngüyü durdurur:
  • için (var i \u003d 0; i<10; i++) { //..блок операторов.. }

JavaScript'te bir for döngüsü kullanma örneğine bakalım:

Örnek 5: Bir dizi sayı yazdırın 0 1 2 3 ... 9 , her rakam yeni bir satırda. 0 1 2 ... 8 9


✍ Çözüm:
  • Bir sayı dizisini görüntülemek için, değerini değiştirmesi gereken for döngüsünün sayacını kullanacağız. 0 önce 9 sıraya göre.
  • Dolayısıyla döngü sayacının başlangıç \u200b\u200bdeğeri değeri şuna ayarla 0 ; gibi döngü koşulları son değeri ayarlayın - ii \u003d 9; karşı adım olmalı 1 (i ++) çünkü dizinin üyeleri arasındaki fark bir:
  • için (var i \u003d 0; i<10; i++) { document.write(i+"
    "); }

    Örnekte, döngü sayacının değerleri ekranda görüntülenir, çünkü sırasıyla i ++ sayacının artışı ekranda görünecektir. 0 1 2 3 ... 9 , her rakam yeni bir satırda (etiket
    ).

  • Komut dosyasını bir tarayıcıda test edin.

Js görevi 3_9. 1 önce 15 .

  1. Sayı dizisi olarak bir döngü sayacı kullanın için.
  2. Bir toplayıcı değişkeni için değişken tanımlayıcısını kullanın toplam.

Kod pasajı:

İçin (var i \u003d ...; ...; ...) (toplam \u003d toplam + ...;) ...

Döngü çıkış ifadeleri kırmak ve devam et javaScript'te. Şebeke çıkış

Break ifadesi, tüm döngü gövdesinin yürütülmesini kesintiye uğratır, örn. javaScript'teki döngüden çıkar.

Continue ifadesi geçerli döngü yinelemesinin yürütülmesini kesintiye uğratırken, aynı zamanda bir sonraki yinelemeden döngü yürütmeye devam eder.

Bir örnek kullanarak break ve continue ifadelerinin işleyişini ele alalım:

Misal: Kod parçacığının algoritmasını ayrıştırın. Ne gösterilecek?

Kod pasajı:

1 2 3 4 5 6 için (var i \u003d 0; i< 10 ; i++ ) { if (i== 4 ) continue ; document.write (i+ "
"); eğer (i \u003d\u003d 8) kırılır;)

için (var i \u003d 0; i<10;i++) { if (i==4) continue; document.write(i+"
"); eğer (i \u003d\u003d 8) kırılır;)


✍ Çözüm:
  • Örneğin üçüncü satırı, basamağın neden olduğu bir koşulu içerir. 4 görüntülenmeyecek: operatör devam etmevcut olanı tamamlamadan döngünün bir sonraki yinelemesine geçecektir.
  • 5. satırda döngüden çıkılır, ancak numara 8 çıktı ifadesi koşuldan önce geldiğinden (4. satırda) görüntülenecektir. Tanışmış kırmakyorumlayıcı döngüden çıkacaktır.
  • Yani ekran şunu gösterecektir: 0 1 2 3 5 6 7 8 - yeni bir satırdaki her rakam.

Js görevi 3_10. Tüm tam sayıların toplamının çıktısını alın 1 önce 15 , toplam sayı dışında 5 ve 7 .

Çıkış ifadesi

Javasctipt dili, program kodundan (çıkış operatörü) bir çıkış operatörü sağlar.
Çoğu zaman, operatör, kullanıcı girişi hatasını ortadan kaldırmak için kullanılır.


Bir örnek ele alalım:

Örnek 6: Kullanıcıdan bir numara girmesini isteyin. Numara girilmemişse, mesajı görüntüleyin "Bir numaraya ihtiyacın var!" ve programı durdurun.


✍ Çözüm:
  • Bir değişkeni başlatın numara kullanıcı tarafından modala girilen değer:
  • var sayı \u003d bilgi istemi ("Bir numara girin");

  • Bir dizeyi tam sayıya dönüştürmek için parseInt işlevini kullanarak, girilen değerin sayı olup olmadığını kontrol edin:
  • sayı \u003d parseInt (sayı); // NaN döndürür - sayı değil

    Sayı girilmezse, işlev NaN değerini döndürür (İngilizceden. sayı değil - sayı değil).

  • Değişkenin değerini kontrol edin numara isNaN işlevini kullanarak:
  • x \u003d isNaN (sayı); // değer sayısal değilse doğru döndürür

    IsNaN işlevi değer döndürür doğru değişkenin bir sayı olmaması durumunda

  • Tarafından "yalanlar" kuralı değişkenin değerini kontrol etmek için düzenleyin x... Değer sayısal değilse, ilgili bir not yazdırın ve programdan çıkın:
  • if (x) (alert ("Bir numara gerekli!"); çıkış; // programdan çık)

  • Programa devam etmek için (girilen değer bir sayı ise), aşağıdaki pencereyi bir giriş istemiyle görüntüleyin:
  • alert ("İkinci sayıyı girin"); // sayı olmayan bir girerseniz, ifade çalıştırılmayacaktır

  • Komut dosyasını bir tarayıcıda test edin.

Kendini kontrol etmek için sorular:

  1. Üç döngü parametresini listeleyin için ve amaçlarını açıklayın.
  2. Hangi operatörler döngüden çıkmak ve onu durdurmak içindir? Kullanımlarına ilişkin örnekler verin.
  3. Operatör ne için çıkış?

Bir FOR'da birden fazla sayaç olması mümkün müdür?

For döngüsü ile ilginç bir çalışma, bir döngüde aynı anda iki sayaç.
Bir örnek ele alalım:

Örnek 7: Komut dosyasını kullanarak, aşağıdaki değişken-değer çiftlerini üç satırda yazdırın: i \u003d 0 j \u003d 2 i \u003d 1 j \u003d 3 i \u003d 2 j \u003d 4


✍ Çözüm:
  • For döngüsünde, iki sayacı düzenleyin: diziyi çıkarmak için sayaç i 0 1 2 , diziyi çıkarmak için j sayacı 2 3 4 :
  • 1 2 3 için (i \u003d 0, j \u003d 2; i< 10 , j< 5 ; i++, j++ ) { }

    için (i \u003d 0, j \u003d 2; i<10, j<5; i++, j++) { }

    For döngüsünün üç parametresinin her biri artık listelenen iki değere sahiptir virgülle ayrılmış (örneğin, iki değerli ilk parametre: i \u003d 0, j \u003d 2). Parametrelerin kendileri listelenir noktalı virgülle ayrılmış(;).

  • Her satırdaki çıktı için etiketini kullanın
    :
  • 1 2 3 4 için (i \u003d 0, j \u003d 2; i< 10 , j< 5 ; i++, j++ ) { document.write ("
    i \u003d ", i," j \u003d ", j);)

    için (i \u003d 0, j \u003d 2; i<10, j<5; i++, j++) { document.write("
    i \u003d ", i," j \u003d ", j);)

Anında sayfa oluşturma: nasıl?

Bir sonraki görevi yapmadan önce bir örnek düşünün dinamik olarak html sayfası oluşturma javascript kullanarak.

Örnek 8:

  • Kullanıcı tarafından girilen verilere bağlı olarak web sayfasında dinamik olarak madde işaretli ve numaralı listeler oluşturmak gerekir: kullanıcıdan girmesini isteyin liste görünümü (numaralandırılmış (1 numara) veya etiketli (2 numara)) ve sonra liste öğesi sayısı.
  • Cevaba bağlı olarak, gerekli sayıda öğeyle birlikte madde işaretli veya numaralı bir listenin etiketlerini görüntüleyin.
  • Varolmayan bir liste türü girilirse, mesajı görüntüleyin "Lütfen doğru türü girin!" ve programdan çıkın ().

Etiketleri hatırlayalım:
numaralı liste etiketleri:

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

madde işaretli liste etiketleri:

var listType \u003d prompt ("Madde işaretli liste için" 1 ", numaralı liste için" 2 "girin");

  • Girilen değeri kontrol edin: numaralı bir liste için (1 numara) etiketi çıkarın
      , işaretli (sayı 2) - etiket
        ... Farklı bir değer girdiyseniz, bir not yazdırın ve programı sonlandırın:

            ") else (alert (" Doğru türü girin "); çıkış;)

          • Bir değişkeni başlatın kolvo kullanıcı tarafından modala girilen değer:
          • var kolvo \u003d bilgi istemi ("Öğe sayısını girin");

          • Bir dize değerini sayısal bir değere dönüştürmek için parseInt işlevini kullanın:
          • için (var i \u003d 1; i<=kolvo; i++) document.write("");

          • Listeler, listenin türüne bağlı olarak ilgili etiketlerle kapatıldığından, kapanış etiketlerini yazdırın:
          • eğer (listType \u003d\u003d "1") document.write ("") else if (listType \u003d\u003d" 2 ") document.write ("" ) ;

            eğer (listType \u003d\u003d "1") document.write ("

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

    1. Komut dosyasını bir tarayıcıda test edin.
    2. Js görevi 3_11.
      Etiketleri gösteren bir komut dosyası yazın girişgirilen rakama bağlı olarak farklı tiplerde (kontroller):

      1 - metin alanı,
      2 - buton,
      3 - radyo(değiştirmek).

      Görüntülenen etiket sayısı da istenmelidir.

      Etiketleri hatırlayalım:

      1 - metin alanı için: 2 - düğme için: 3 - radyo için:

      Çıktı örneği:

      Js görevi 3_12. Döngüler için javascript kullanarak 9x9 dama tahtası çizin. "Çizim" panosu, tablo için html etiketleri olmalıdır:

      Etiketleri hatırlayalım:

      <tablo sınırı \u003d "1" genişlik \u003d "% 30"\u003e <tr\u003e <td\u003e-</ td\u003e -</ td\u003e </ tr\u003e </ tablo\u003e

      --

      • 9 çizgi çizmek için, bir sayaç i ile harici bir for döngüsü düzenlemeniz gerekir.
      • Her satıra 9 hücre çizmek için, j sayacına sahip bir iç (iç içe) döngü düzenlemeniz gerekir.
      • Hücre ve satır etiketlerini oluşturmak için document.write yöntemini kullanın.

      Sonuç:

      Bunlara ek olarak:

      1. Döngü sayaçlarını (i ve j) kullanarak çarpım tablosunu tablo hücrelerine yazdırın.
      2. İlk satırı ve ilk sütunu kırmızı bir arka planla görüntüleyin (tablo hücresinin bgcolor özelliği):
        <td bgcolor \u003d "kırmızı"\u003e-</ td\u003e

        -

      Sonuç:


      Kendini kontrol etmek için sorular:

      1. Dinamik sayfa oluşturmanın ne anlama geldiğini açıklayın?
      2. Dinamik sayfa oluşturma için en sık kullanılan dil yapısı nedir?

      JavaScript dilinin döngüsel ifadeleri - While

      While ifadesinin sözdizimi şöyledir:

      while (koşul) (//.. ifadeler bloğu ..);

      Misal: İkiye kadar gücü göster 1000 (2, 4, 8 ... 512). Alert () yöntemini kullanın


      ✍ Çözüm:
      • Komut dosyasının listesi:
      • 1 2 3 4 5 var a \u003d 1; while (a< 1000 ) { a*= 2 ; alert(a) ; }

        var a \u003d 1; while (a< 1000){ a*=2; alert(a); }

        a * \u003d 2 → bileşik atama işlemi kullanılır: atama ile birleştirilen ürün, yani a \u003d a * 2 ile aynı

      • Sonucu bir tarayıcıda test edin.

      Break ve continue ifadeleri bir while döngüsünde nasıl çalışır?

      Misal:

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

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

      İkinin yetkileri, 128 kapsayıcı ve değer 64 atlanacak. Şunlar. iletişim kutularında şunları göreceğiz: 2 4 8 16 32 128

      Js görevi 3_13. Aşağıdaki kod parçacığı hangi değerleri gösterecek?

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


      Js görevi 3_14. Montaj kodunu yaz x ölçüde ywhile döngüsü kullanarak. Değişken değerlerini sorgulayın ve alert () kullanarak sonucu çıkarın.

      Kodu tamamlayın:

      1 2 3 4 5 6 7 8 9 var x \u003d ...; var y \u003d ...; sayaç \u003d 1; chislo \u003d x; while (...) (chislo \u003d x * ...; sayaç \u003d ...;) alert (chislo);

      var x \u003d ...; var y \u003d ...; sayaç \u003d 1; chislo \u003d x; while (...) (chislo \u003d x * ...; sayaç \u003d ...;) alert (chislo);

      A Bir sayının faktöriyelini bulmak için tasarlanmış programdaki hatayı düzeltin:

      1 2 3 4 5 6 7 8 9 10 11 12 13 var counter \u003d istemi ("Bir numara girin"); var factorial \u003d 1; document.write ( "Sayı faktöriyeli:" + sayaç + "! \u003d"); do (if (counter \u003d\u003d 0) (faktoriyel \u003d 1; break;) factorial \u003d factorial / counter; counter \u003d counter + 1;) while (counter\u003e 0); document.write (faktöryel);

      var counter \u003d istemi ("Bir numara girin"); var factorial \u003d 1; document.write ("Sayı faktöriyeli:" + sayaç + "! \u003d"); do (if (counter \u003d\u003d 0) (faktoriyel \u003d 1; break;) factorial \u003d factorial / counter; counter \u003d counter + 1;) while (counter\u003e 0); document.write (faktöryel);


      Js görevi 3_16. Programı kullanıcı girişi için değiştirin:

      Kullanıcı gerçekten bir ad girene kadar bir kullanıcı adı isteyin (yani, alan gerçekten doldurulur ve iptal tuşuna basılmaz). Ad girildiğinde çıktı "Merhaba isim!"... belge.

      JavaScript'te hatalar nasıl bulunur?

      Bazı durumlarda, sayfadaki kod herhangi bir nedenle çalışmıyor. Hatayı nereye bakmalı? Bu gibi durumlarda try..catch deyimini kullanabilirsiniz.

      Try..catch deyimi bir kod parçasını çalıştırmaya çalışır ve kodda bir hata varsa, ekranda bir hata görüntülemek mümkündür.
      Hata, e.message nesnesinde saklanır.

      Operatörün çalışmasını bir örnek kullanarak ele alalım:

      Misal: programda hata içeren bir ifade yazın. Şüpheli hatalı kodda bir hata olup olmadığını kontrol edin: kodda bir hata varsa, bir mesaj görüntüleyin "hata işleme: hata adı"... Hatalı operatörü kontrol ettikten sonra, kodda bir hata olup olmadığına bakılmaksızın, mesajı yayınlayın "işlemlerin tamamlanması"


      ✍ Çözüm:
      • Hatalı bir mesaj olarak, bir hata ile yazılmış istem () yöntemini kullanacağız - promt ()... Hata mesajını bir try bloğuna ekleyin:
      • uyarı ("önce"); try (promt ("sayı girin"); // hatalı operatör)

        İngilizceden deneyin. - "try", bu nedenle, bir hata içerebilecek bir kod parçasının önüne bir try ifadesi koyarız (bizim durumumuzda gerçekten bir hata vardır).

      • Hata mesajı bir catch bloğuna yerleştirilmelidir:
      • 6 7 8 9 catch (e) (uyarı ( "Hata yönetimi:"+ e-mesaj); )

        catch (e) (alert ("hata işleme:" + e.message);)

        Gerçekten bir hata varsa, catch deyimi bu hatayı e nesnesinde saklar. Daha sonra iletişim kutusunda görüntülenebilir - e.message.

      • Kodda bir hata olup olmadığına bakılmaksızın görüntülenmesi gereken son mesajı bir final bloğuna yerleştirin:
      • nihayet (alert ("bitirme eylemleri");) alert ("sonra");

        Bir hata varsa, yorumlayıcı örneğimizde görüntüledikten sonra catch bloğunu yürütmeye devam edecek ve son olarak (İngilizce'den "tamamlama", "en sonunda"), bir hata olup olmadığına bakılmaksızın her zaman yürütülecektir. Catch bloğunda bir hata olsa bile.

      Önemli: Nihai blok yapımda isteğe bağlıdır.


      Js görevi 3_17. Aşağıdaki değişiklikleri yaparak yukarıdaki örneği izleyin:

    3. Nihayet bloğunu kaldırın ve kodun çalışmasını izleyin.
    4. Hatalı operatörü hatasız bir operatörle değiştirin ve sonucun ne olacağını görün.
    5. Özet:

      Ders aşağıdaki javascript operatörlerini ve yapılarını kapsıyordu:

      Javascript koşullu ifadeler:

    6. If ifadesi
    7. Koşullu atama (üçlü operatör)
    8. Anahtar deyimi
    9. Döngü operatörleri:

    10. Döngü için
    11. Döngü sırasında
    12. Do ... while döngüsü
    13. For ... in loop
    14. Son görev Js 3_18.
      İki kişilik bir oyun oluşturun:

      1. Program, ilk oyuncudan bir sayı girmesini ister. 1 önce 100 (ikinci oyuncu girilen sayıyı görmez). Ardından ikinci oyuncudan girilen sayıyı tahmin etmesi istenir. Mesaj yanıt olarak görüntülenir "az" veya "çok" girilen cevaba bağlı olarak. Oyuncu doğru tahmin ederse, tebrikler görüntülenir. Yanlış tahmin ederse oyun devam eder (sayı gerçekten tahmin edilene kadar).
      2. Deneme sayısını hesaplayın ve sayı tahmin edildiğinde sonucu döndürün.


      Kendini kontrol etmek için sorular:

      1. For In döngüsünün kullanılması ne zaman önerilir? Kullanımının bir örneği nedir?
      2. Try..catch deyiminin amacı nedir?
      3. Her try..catch ifade bloğunun amacını açıklayın.

      JavaScript, bir programın yürütme akışını etkileyen koşullu bir yapıya sahiptir. Eğer (İngilizcede) bir şey varsa, bir şey doğruysa, o zaman bir şeyi yapın, aksi halde (başka İngilizcede) - başka bir şey yapın.

      If ifadesi

      İf ifadesinin nasıl çalıştığına bir göz atalım, basittir ve fazla açıklama gerektirmez.

      If (koşul) (koşul doğruysa yürütülecek kod)

      Çok basit: Eğer koşul doğruysa, (...) bloğundaki kod çalıştırılır.

      Değişken basamak \u003d 4; eğer (digit \u003d\u003d 4) (document.write ("digit 4");)

      Bazı garip kodlar yapılabilir:

      Değişken basamak \u003d 4; if (true) (document.write ("Koşul doğrudur.");)

      Başka ifade

      Bir else ifadesi, bir if ifadesiyle birlikte kullanılabilir. "Aksi takdirde" olarak çevrilir ve alternatif bir kod belirtir.

      Değişken basamak \u003d 4; eğer (rakam

      Bu örnekte if ve else ifadeleri için kaşlı ayraçların farklı yazılışlarına dikkat edin. Bu şekilde yazmak zorunlu değildir, her iki sözdizimi de doğrudur.

      Else ifadesinin ardından yeni bir if ifadesi gelebilir. Bu, birden çok koşulu test edecektir.

      Değişken basamak \u003d 4; eğer (rakam

      JavaScript, PHP'nin yaptığı gibi (tek kelimeyle) bir elseif ifadesine sahip değildir.

      Yalnızca bir ifade yürütmeniz gerekiyorsa, blok küme parantezleri (...) gereksizdir. Örneğimizde bunları yazmanıza gerek yok:

      Değişken basamak \u003d 4; eğer (rakam

      JavaScript'te yatıyor

      İf (koşul) ifadesi, parantezli koşulu (ifade) değerlendirir ve boolian türe (doğru veya yanlış) dönüştürür.

      JavaScript'te bir yalan olduğunu tekrarlayalım.

      • Sayı 0 (sıfır).
      • "" Satırı boş.
      • Boolean false :)
      • Değer boş.
      • Değer tanımsız.
      • NaN (Sayı Değil) değeri.

      Diğer her şey doğrudur.

      Birkaç olası hata:

      If ("false") document.write ("Bu doğrudur.
      "); if (false) document.write (" Bu doğrudur.

      ");

      Burada, "false" dizesini (tırnak işaretleri içinde), boole türü false değerinden ayırmanız gerekir.

      If ("") document.write ("Bu doğrudur.
      "); else document.write (" Bu yanlıştır.
      ");

      Burada "" dizesini (boşluk içinde) boş "" dizesinden ayırmanız gerekir. Bir dizenin içindeki boşluk onu boş değil, kapsayıcı bir karakter yapar. Tercüman için harf ya da boşluk önemli değil - sembol bir semboldür.

      JavaScript'teki diğer koşul ifadeleri

      • JavaScript anahtar yapımı.
      • Operatör soru işareti

      Koşullu Operatörler

      Koşullu ifadeler, belirtilen ifadenin değerine bağlı olarak diğer ifadeleri atlamanıza veya yürütmenize izin verir. Bu operatörler programdaki karar noktalarıdır ve bazen aynı zamanda dallanma operatörleri.

      Programın bir yol olduğunu ve JavaScript yorumlayıcısının orada yürüyen bir gezgin olduğunu hayal ederseniz, koşullu ifadeler, program kodunun iki veya daha fazla yola çatallandığı ve bu tür kavşaklarda hangi yolu seçmesi gerektiğini yorumlayanın seçmesi gereken kavşaklar olarak düşünülebilir. ...

      If / else ifadesi

      İf ifadesi, JavaScript yorumlayıcısının kararlar almasına veya daha kesin olarak koşullara dayalı ifadeleri yürütmesine izin veren temel bir kontrol ifadesidir. İf ifadesinin iki biçimi vardır. İlk:

      if (ifade) ifadesi

      Bu formda önce ifade değerlendirilir. Sonuç doğruysa, ifade çalıştırılır. İfade yanlış döndürürse, ifade çalıştırılmaz. Örneğin:

      If (username \u003d\u003d null) // Kullanıcı adı boş veya tanımsız ise username \u003d "Alex"; // Tanımla

      Koşullu ifadenin etrafındaki parantezlerin, if ifadesi sözdiziminin gerekli bir parçası olduğuna dikkat edin.

      İf ifadesinin ikinci biçimi, ifade false döndürdüğünde çalıştırılan bir else cümlesi sunar. Sözdizimi:

      if (ifade) ifade1 else deyimi2

      Bu form, ifade true döndürürse ifade1'i ve ifade false döndürürse ifade2'yi yürütür. Örneğin:

      If (n \u003d\u003d 1) console.log ("1 yeni mesaj alındı."); else console.log ("Alındı" + n + "yeni mesajlar.");

      Else if ifadesi

      İf / else ifadesi, ifadenin değerini değerlendirir ve sonuca bağlı olarak bir veya daha fazla program kodunu çalıştırır. Peki ya birçok parçadan birini çalıştırmanız gerekirse? Bunu yapmanın olası bir yolu, başka bir if ifadesi kullanmaktır. Resmi olarak bağımsız bir JavaScript operatörü değildir; bu, yinelenen if / else ifadesini kullanan yaygın bir programlama stilidir:

      If (n \u003d\u003d 1) (// Blok 1'i yürüt) else if (n \u003d\u003d 2) (// Blok 2'yi yürüt) else if (n \u003d\u003d 3) (// Blok 3'ü yürüt) else (// Hiçbiri değilse önceki diğer ifadelerden biri yürütülmedi, blok 4'ü yürütün

      Bu pasajla ilgili özel bir şey yok. Basitçe, her if ifadesinin önceki ifadenin else ifadesinin bir parçası olduğu bir if ifadeleri dizisidir.

      Anahtar deyimi

      İf ifadesi, program akışında dallanma oluşturur ve çok konumlu dallanma birden çok else if deyimiyle uygulanabilir. Bununla birlikte, bu her zaman en iyi çözüm değildir, özellikle de tüm dallar aynı ifadenin değerine bağlıysa. Bu durumda, aynı ifadenin değerini birden çok if ifadesinde yeniden değerlendirmek gereksizdir.

      Switch deyimi sadece bu tür durumlar için tasarlanmıştır. Switch anahtar sözcüğünden sonra parantez içindeki bir ifade ve kaşlı ayraçlar içindeki bir kod bloğu gelir:

      switch (ifade) (ifadeler)

      Ancak, bir switch ifadesinin tam sözdizimi burada gösterilenden daha karmaşıktır. Bloktaki çeşitli yerler anahtar kelimeyle işaretlenmiştir durumardından bir ifade ve iki nokta üst üste karakteri gelir.

      Bir switch ifadesi yürütüldüğünde, ifadenin değerini değerlendirir ve ardından bu değerle eşleşen bir durum etiketi arar (eşleşme, kimlik operatörü \u003d\u003d\u003d ile belirlenir). Bir etiket bulunursa, kod bloğu, vaka etiketini izleyen ilk ifadeden başlayarak yürütülür. Eşleşen değere sahip bir vaka etiketi bulunmazsa, yürütme özel etiketi izleyen ilk ifadeden başlar. varsayılan:... Varsayılan bir etiket yoksa, tüm anahtar bloğu atlanır.

      Switch ifadesinin işleyişini kelimelerle açıklamak zordur, açıklama bir örnekle çok daha net görünür. Aşağıdaki switch ifadesi, önceki örnekte gösterilen yinelenen if / else ifadelerine eşdeğerdir:

      Anahtar (n) (durum 1: // n \u003d\u003d\u003d 1 ise çalıştır // Blok 1 molasını çalıştır; // Burada dur case 2: // Çalıştır n \u003d\u003d\u003d 2 // Blok 2 kesmeyi yürüt; / / Burada dur durum 3: // Eğer n \u003d\u003d\u003d 3 ise çalıştırılır // Blok 3 molasını yürütün; // Burada dur varsayılan: // Diğer her şey çalışmazsa ... // Blok 4 molasını çalıştır; // Burada dur )

      Anahtar kelimeye dikkat edin kırmak her vaka bloğunun sonunda. Break deyimi, denetimi switch deyiminin sonuna aktarır ve takip eden deyimlerin yürütülmesine devam eder. Bir switch deyimindeki case deyimleri yalnızca çalıştırılan kodun başlangıç \u200b\u200bnoktasını belirtir, ancak herhangi bir bitiş noktası belirtmez.

      Break ifadesi yoksa, switch ifadesi ifadenin değerine karşılık gelen case etiketi ile kod bloğunu yürütmeye başlar ve bloğun sonuna ulaşıncaya kadar ifadeleri yürütmeye devam eder. Nadir durumlarda, bu, bir durum etiketinden diğerine atlayan kod yazmak için kullanışlıdır, ancak% 99 oranında, her durum bloğunu bir break ifadesiyle dikkatlice sonlandırmalısınız. (Bir işlevin içinde switch'i kullanırken, break yerine bir return ifadesi kullanabilirsiniz. Bu ifadelerin her ikisi de switch ifadesini sonlandırır ve bir sonraki case etiketine atlamayı önler.)

      Aşağıda bir switch deyimi kullanmanın daha pratik bir örneği bulunmaktadır, bir değeri değerin türüne bağlı bir şekilde bir dizeye dönüştürür:

      Function convert (x) (switch (typeof x) (// Bir sayıyı onaltılık tamsayıya dönüştür "sayı": return x.toString (16); // Tırnaklı bir dize durumu döndür "string": return "" "+ x + "" "; // Diğer herhangi bir tür varsayılan olarak dönüştürülür: return x.toString ();)) console.log (convert (1067)); // Sonuç "42b"

      Önceki iki örnekte, büyük / küçük harf anahtar kelimelerinin ardından sayılar veya dize değişmezlerinin geldiğini unutmayın. Switch deyimi pratikte en sık bu şekilde kullanılır, ancak ECMAScript standardı, vakadan sonra rastgele ifadeler belirlemenize izin verir.

      Switch deyimi önce switch anahtar sözcüğünden sonraki ifadeyi ve ardından case ifadelerini, eşleşen bir değer bulunana kadar belirtildikleri sırayla değerlendirir. Bir eşleşme olgusu, \u003d\u003d eşitlik operatörü kullanılmadan \u003d\u003d\u003d kimlik operatörü kullanılarak belirlenir, bu nedenle ifadeler herhangi bir tür dönüşümü olmadan eşleşmelidir.

      Bir switch ifadesi her yürütüldüğünde tüm durum ifadeleri değerlendirilmediğinden, işlev çağrıları ve atamalar gibi yan etkileri olan durum ifadelerini kullanmaktan kaçınmalısınız. Durum ifadelerinizi sabit ifadelerle sınırlamak en güvenli yoldur.

      Daha önce açıklandığı gibi, case ifadelerinden hiçbiri switch ifadesiyle eşleşmezse, switch ifadesi default: etiketli ifadeyi yürütmeye başlar. Varsayılan yoksa: etiket, switch ifadesinin gövdesi tamamen atlanır. Önceki örneklerde, varsayılan: etiketinin tüm büyük / küçük harf etiketlerinden sonra switch deyiminin gövdesinin sonunda göründüğüne dikkat edin. Burası bunun için mantıklı ve olağan bir yerdir, ancak aslında bir switch ifadesinin içinde herhangi bir yerde bulunabilir.