Internet Derazalar Android
Kengaytirmoq

Agar JavaScript-da boshqa funktsiyalar va shartlar. JavaScript-dizayndagi shartli operatorlar JavaScript-dagi shartlar - agar Jaascript-dagi shartlar - boshqa misollar

Shartli operatorlar

Shartli operatorlar belgilangan iboraning qiymatiga qarab boshqa operatorlarni o'tkazib yuborish yoki bajarish imkonini beradi. Ushbu operatorlar dasturda qaror qabul qilish punktlari va ba'zida ular ham deyiladi "FAQAT" operatorlari.

Agar siz dasturning yo'l ekanligiga va JavaScript tarjimoni bu sayohatchi sifatida, keyinchalik shartli operatorlar ikki yoki undan ortiq yo'llar va boshqa yo'llarni tanlashlari kerakligini topshirishingiz mumkin. qaysi yo'lni davom ettirish uchun.

Agar / boshqa operator

Agar bayonot shart bo'lsa, JavaScript tarjimoniga echim qilish yoki aniqroq, operatorlarni shartlarga qarab bajarishga imkon beradigan asosiy nazoratchi hisoblanadi. Agar operator ikkita shaklga ega bo'lsa. Birinchidan:

agar (ifoda) operator bo'lsa

Ushbu shaklda ibora birinchi hisoblangan. Agar natija to'g'ri bo'lsa, operator bajariladi. Agar ifoda noto'g'ri qiymatni qaytarsa, operator bajarilmaydi. Masalan:

Agar (foydalanuvchi nomi \u003d\u003d null) // foydalanuvchi ismi o'zgaruvchisi nol yoki bekor qilingan foydalanuvchi ismi \u003d "Aleks" bo'lsa; // buni aniqlang

E'tibor bering, shartli iboraning atrofida qavslar operator sintaksisining majburiy qismi hisoblanadi.

Agar operatorning ikkinchi shakli, bu ifoda noto'g'ri qiymatni qaytaradigan hollarda amalga oshiriladigan boshqa dizaynni amalga oshiradi. Uning sintaksisi:

agar (ifoda) operator operator operatori22

Ushbu shakl Operatorni amalga oshiradi, agar ifoda haqiqiy qiymatni qaytaradi va agar "degani noto'g'ri qiymatni qaytarsa, operator2 bo'lsa. Masalan:

If (n \u003d\u003d 1) konsol.log ("1 ta yangi xabar."); Yana bir konsol.log ("Olingan" + n + "Yangi xabarlar".

Boshqa operator bo'lsa.

Agar / / boshqa bayonot "Natijada" dastur kodeksining bir yoki boshqa bir qismini yoki boshqa bir qismini amalga oshiradi. Ammo ko'p qismlardan birini bajarish kerak bo'lsa nima bo'ladi? Buning uchun mumkin bo'lgan usul boshqa narsani qo'llashdir. Rasmiy ravishda, bu mustaqil JavaScript operatori emas; Bu faqat odatdagi dasturiy uslubdir, agar / yoki boshqa operatorni qo'llashda qatnashadi:

Agar (n \u003d\u003d 1) (// blokni bajaring) (// 2) (//-blok) (//-blok) (/ 3) Oldingi keyingi bayonotlardan biri bajarilmadi, 4-blokni ijro etish

Ushbu parchada hech qanday maxsus narsa yo'q. Bu shunchaki operatorlar, agar ariza oldingi operatorning boshqa dizaynining bir qismi bo'lsa, bu boshqa bir ketma-ketlikdir.

Kompyuter operatori

Agar kontsert dastur oqimi oqimida filialni yaratsa va ko'p sonli operatorlar bo'lsa, qo'shimcha ravishda bir nechta narsani amalga oshirish mumkin. Biroq, bu har doim ham eng yaxshi echim emas, ayniqsa barcha novdalar bir xil iboraning qiymatiga bog'liq bo'lsa. Bunday holda, agar operatorlar bir xil iboraning qiymatini qayta hisoblash chiqindilarini qayta hisoblaydilar.

Kommutatsiya operatori bunday holatlar uchun mo'ljallangan. Fikrlashning kalit so'zi jingalak qavslarda qavs va kodi blokirovkasida ifodalanishi kerak:

(Ibora) (ko'rsatmalar)

Biroq, Kompyuterning to'liq sintaksisi bu erda ko'rsatilgandan ko'ra murakkabroq. Blokdagi turli xil joylar kalit so'zda etiketlanadi ish.Orqada va yo'g'on ichak ramzi bo'lishi kerak.

Kommutatsiya bayonoti bajarilganda u ushbu qiymatga mos keladigan ish yorlig'ini qidiradi va keyin ushbu qiymatga mos keladigan ish yorlig'ini qidiradi (yozishmalar identifikatorning identifikatori \u003d\u003d\u003d) yordamida aniqlanadi. Agar yorliq topilsa, ishning ishidan boshlab, birinchi ko'rsatmadan boshlab kod bloki ishlamoqda. Agar tegishli qiymati bilan ishora topilmasa, bajarilishi maxsus markadan keyin birinchi ko'rsatmadan boshlanadi odatiy:. Agar standart yorliq bo'lsa: yo'qolgan bo'lsa, almashtirish bayonnomasi to'liq o'tkazib yuborildi.

Kommuna operatori ishi so'z bilan tushuntirish qiyin, bu misol haqida tushuntirishni aniqroq ko'rinadi. Keyingi misolda ko'rsatilgan bo'lsa, quyidagi almashish bayonoti takrorlanadi:

Switr (n) (// Agar n \u003d\u003d\u003d 1 // Blekni ishga tushirish 1-Blumni tanlang; // Agar 2-bandni to'xtating. // Agar 2-Blekni to'xtating; // Bu erda boshlashni boshlang 3: // Agar n \u003d\u003d\u003d 3 // Agar 3 tanaffus qiling; // Agar boshqa hamma narsa mos kelmasa, 4 ta tanaffus qilish; // Runni ochish; //

Kalit so'zga e'tibor bering sindirish Har bir holat oxirida. Tekshiruv operatori boshqaruv operatori tugatishga olib keladi va quyidagi operatorlarning ijrosini davom ettiradi. Kommutatsiya bayonnomasidagi holatlar faqat dastur kodining boshlang'ich nuqtasini belgilab qo'ydi, ammo har qanday so'nggi nuqtalarni ko'rsatmaydi.

Break operatorlari bo'lmaganida, kommutator elektron pochta blokini ifoda etishini ifodalashni boshlaydi va blokning oxiriga yetguncha operatorlarni bajarishni davom ettiradi. Kamdan kam hollarda, bu bitta holatdan keyingisiga o'tadigan dastur kodini yozish uchun foydalidir, ammo 99% hollarda ish operatori tanaffusining har bir blokini sinchkovlik bilan to'ldirish kerak. (Tanaffus o'rniga funktsiya ichidagi kommutatsiyadan foydalanganda siz, shuningdek, ushbu ikkala operatorning ikkala operatorlari qo'shimcha operatorning ishlashini tugatish va keyingi holatga o'tishni oldini olish uchun ishlatiladi.)

Quyidagilar kalit bayonotidan foydalanishning yanada amaliy misolidir, u qiymat turiga bog'liq bo'lgan usulda qiymatga aylantiradi:

Funktsiya Konvert (x) (// dyeF x) (// raqamini 'raqami) raqamiga aylantirish: X.Tostring (16); // CastriptingNing-ni qaytarish (16) + x + "" "" "" "" ""; // Boshqa har qanday turdagi har qanday tur standart yo'l bilan aylaniladi: x.tosting (); konvert (1067)); // natija "42b"

E'tibor bering, oldingi ikkita misolda raqamlar yoki stringlar kalit so'zlardan kelib chiqqan. Shu tariqa, kommutatsiya bayonoti ko'pincha amalda qo'llaniladi, ammo ECSSCHIHT STRICT STREKTIKA BO'LADI.

Kommutatsiya operatori birinchi navbatda ifodalashni kalit so'zdan so'ng hisoblaydi, shunda ular tasodifan belgilangan qiymat topilmaguncha ko'rsatilgan iboralarda keltirilgan. Tasodifning haqiqati shaxsiyat operatori \u003d\u003d\u003d va teng huquqliligi operatordan foydalanib, \u003d\u003d, shuning uchun ifodalar turlarni o'zgartirishsiz mos kelishi kerak.

Kommutatsiya operatori bajarilganligi sababli, barcha holatlar bilan hisoblangan bo'lsa, unda xususiy ta'sir va topshiriqlar kabi nojo'ya ta'sir ko'rsatadigan holatlardan foydalanishning oldini olish kerak. Shafqatsizlarning barchasi ishning doimiy ifodasida cheklangan.

Ilgari tushuntirilmagan, agar hech qanday iboralar ifoda etish tugmachasiga mos kelmasa, kommutator operatorni standart bilan bajarishni boshlaydi: teg. Agar standart yorliq bo'lsa: yo'qolgan bo'lsa, operator tanasi to'liq o'tkazib yuboriladi. E'tibor bering, avvalgi misollarda, standart yorliqlar: barcha holatlar belgilaridan keyin almashtirish operatori tanasining oxirida ko'rsatilgan. Bu buning mantiqiy va odatiy joy, ammo aslida u kommutator ichidagi har bir joyda joylashgan bo'lishi mumkin.

Ushbu interfaol misol uchun manba Github omborida saqlanadi. Agar siz "D" siz interfaol misollarni keltirib chiqarsangiz, iltimos, iltimos, iltimos, https://github.com/githAram.com/mdn/dithactiveexamellar va bizga tortishuv so'rovini yuboring.

Sintaksis

Agar (shart) bayonot bo'lsa, agar Vaziyat - bu Vazzaga yoki yolg'on deb hisoblanadi. Agar shart haqiqat bo'lsa, ijro etilgan 3 ta bayonot. Shtatlar, shu jumladan davlatlar bo'lsa, har qanday bayonot bo'lishi mumkin. Bir nechta bayonotlarni ijro etish uchun, "(...) TOPORETE bayonotlarini guruhlash uchun foydalaning. Hech qanday bayonotni bajarish uchun bo'sh bayondan foydalaning. Agar shartlar yolg'on bo'lsa va boshqa gap bo'lsa, bajarilgan2 hisobot. Shtatlar, agar shtatlar bo'lsa, har qanday bayonot, shu jumladan blokirovka qilingan va keyinchalik amalga oshiriladi.

Ta'rif.

Bir necha mlrd. Agar boshqa gaplar bo'lsa, boshqalarni yaratish uchun amalga oshirilishi mumkin. E'tibor bering, JavaScript-da boshqa harflar mavjud emas.

Agar (shartli bo'lsa) Agar (shartli bo'lsa), agar (shartli bo'lsa), agar (shartli bo'lsa)

Ushbu asarlarni ko'rish uchun, uya to'g'ri yasalganmi yoki yo'qmi, qanday ko'rinishini ko'rish.

Agar (shartli bo'lsa) Agar (shartli bo'lsa), agar (shartli bo'lsa), agar (shartli shart) bo'lsa ...

Balishma ichidagi bir nechta bayonotlarni bajarish uchun, ushbu shtatlarni guruhlash uchun blokdan foydalanish (...). Umuman olganda, har doim blokli holatlardan foydalanish yaxshi amaliyot, ayniqsa, agar davlatlar bilan bog'liq kodeksda:

Agar (holat) bo'lsa (7-davlatlar)

Booley qadriyatlarini haqiqiy va yolg'onni haqiqiylik yoki mag'lubiyat bilan soxta va yolg'on bilan aralashtirmang. Yolg'on emas, aniqlanmagan, , 0, -0, nan yoki bo'sh satr ("", va har qanday tortishuvning bo'sh sari,, shu jumladan, bu holat sifatida ishlatilgan. Masalan:

Var b \u003d yangi Boolean (noto'g'ri); Agar (b) // bu shart -

Misollar.

Agar ... boshqa

Agar (CIPER_CHAR \u003d FOVDE + TOU_BAR; X ++;) boshqa (natijasi \u003d ConseFAR;)

Boshqalardan foydalanish.

JavaScript-da har qanday boshqa boshqa boshqa narsa mavjud emas. Biroq, siz uni boshqa joylar bilan yozishingiz mumkin va agar:

Agar (x\u003e 50) (/ * to'g'ri * /) Agar (/ * DoO-ning o'ng tomonida (/ * DoO-ning o'ng tomoni (/ * uni to'g'ri bajaring)

Shartli ifoda ichida tayinlash

Bu oddiy topshiriqlardan shartli ifodasida foydalanmaslikka harakat qiladi, chunki topshiriq kodni ko'rib chiqishda tenglik bilan chalkashib ketishi mumkin. Masalan, quyidagi kodni ishlatmang:

If (x \u003d y) (/ * uning o'ng tomoni * /)

Agar siz shartli ifodasida topshiriqdan foydalanishingiz kerak bo'lsa, bu topshiriq atrofida qo'shimcha qavslar qo'yishdir. Masalan:

If ((x \u003d y)) (/ * uning o'ng tomoni * /)

Texnik xususiyatlar.

Spetsifikatsiya Holat. Sharh
Eciscript so'nggi loyihasi (ECMA-262)
Qoralama.
ECMASCRICR 2015 (6-nashr, ECMA-262)
Ushbu spetsifikatsiyada "agar bayonot" ta'rifi.
Standart.
ECSCRICT 5.1 (ECMA-262)
Ushbu spetsifikatsiyada "agar bayonot" ta'rifi.
Standart.
Eciscript 3-nashri (ECMA-262)
Ushbu spetsifikatsiyada "agar bayonot" ta'rifi.
Standart.
Eciscript 1-nashri (ECMA-262)
Ushbu spetsifikatsiyada "agar bayonot" ta'rifi.
Standart. Dastlabki ta'rif.

Brauzerning muvofiqligi

Ushbu sahifadagi moslik jadvali tuzilgan ma'lumotlardan yaratiladi. Agar siz "D" ma'lumotlariga hissa qo'shishni yoqtirsangiz, iltimos, HTTPS://github.com/brawser-bowser-cat-dadata-ni tekshiring va bizga tortishuv so'rovini yuboring.

Github-da moslik ma'lumotlarini yangilash

Ish stoli.MobilServer
Chrome.Chekka.Firefox.Internet Explorer.Opera.Safari.Android Warview.Android uchun xromAndroid uchun FirefoxAndroid uchun operaSafari iOS-da.Samsung InternetNode.J.
Agar ... boshqaChrome to'liq qo'llab-quvvatlash 1EDGE to'liq qo'llab-quvvatlash 12Firefox to'liq qo'llab-quvvatlash 1IE to'liq qo'llab-quvvatlash 3Opera to'liq qo'llab-quvvatlash HaSafari to'liq qo'llab-quvvatlash HaWarview Android 1-ni qo'llab-quvvatlash 1Chrome Android to'liq qo'llab-quvvatlash 18Firefox Android-ni to'liq qo'llab-quvvatlash 4Opera Android to'liq qo'llab-quvvatlash HaSafari iOS to'liq qo'llab-quvvatlaydiSamsung Internet Android To'liq qo'llab-quvvatlash 1.0nodods to'liq qo'llab-quvvatlash Ha

var a \u003d 10; Var b \u003d (A\u003e 1)? 100: 200; Ogohlantirish (b);

Agar shart bo'lsa a\u003e 1. To'g'ri, keyin o'zgaruvchi b. Qiymatni belgilang 100 Aks holda o'zgaruvchi B qiymatni belgilaydi 200 .

JS 3_4 vazifasi. Kodni to'ldirish uchun: 3 mahalliy o'zgaruvchilar var kalit so'zidan foydalangan holda e'lon qilinadi. Keyingi versiyadagi keyingi bayonotning qiymatini aniqlash kerak: agar a b dan katta bo'lsa, uni qaytaring, aks holda biz B.
Kod parchasi:

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


O'z-o'zini boshqarish uchun savollar:

  1. Ternar operatorning sintaksisi nima?
  2. Qancha dalillar o'chdimi?

JavaScript-da operatori

JavaScript operator operatsiyasini turli xil qiymatlarga tekshirishga xizmat qiladi:

Sintaksis:

o'zgartirish (o'zgaruvchan yoki ifoda) (// harflar) .. Bosqich kombinati2: //..llock operatorlari: // iBlock operatorlari.

O'zgaruvchining yoki ifoda qiymati tekshiriladi: har birida ish. Qiymatlardan biri tekshiriladi, tegishli qiymat, bir yoki boshqa operatorlar blokida mos keladi ish..

Xizmatdan boshlanadigan blokni o'chirib qo'yilishi mumkin. Agar sanab o'tilgan qiymatlarning hech biri yo'q bo'lsa, blokirovka operatorlari amalga oshiriladi ish. tog'ri kelmaydi.

Muhim: Tanaffus operatori har bir o'zgaruvchan qiymatdan keyin (har biri keyin ish.); Agar undan foydalanmasangiz, quyida keltirilgan barcha operatorlar ko'rsatiladi.

Operator bilan taqqoslang Agar bo'lsa.:

var a \u003d 2; SUB (A) (O'lchov 0: // Agar (a \u003d\u003d\u003d 0) ish 1: // Agar ("nol yoki bitta"), ogohlantirish ("nol yoki bitta"); Ishlati ("ikkita") ogohlantirish ("ikkita"); // Keyin ... Odatiy: "Ko'p" signal beramiz; // Boshqalar aks holda biz ... )

Qanday qilib bir nechta variantlarni guruhlash kerak?

Bir xil operatorlarni bajarish uchun bir nechta guruh ish.. Yuqoridagi misolda:

Ish 0: 1: ogohlantirish ("nol yoki bitta"); Sindirish; ...

A \u003d 0 va a \u003d 1, bir xil operator amalga oshiriladi: ogohlantirish ("nol yoki bitta");

4-misol: Foydalanuvchidan rangni kiritish uchun yuboring. Tarjimani inglizcha kirishiga ko'rsatish. Rang uchun "ko'k" va "ko'k" Bir xil qiymatni yuboring.


✍ Yechim:
  • HTML skelet va teg bilan veb-sahifani yarating skript..
  • O'zgaruvchini ishga tushiring rang
  • Var rang \u003d tezkor ("Qanday rang?");

    var rang \u003d tezkor ("Qanday rang?");

  • Dizayndan foydalanib o'zgaruvchining qiymatini tekshiring switsh.Har bir qiymatni namoyish qilish orqali - tegishli tarjima:
  • o'zgartirish (rang) ("Rang" ("Red": "qizil"); tanaffus; "Yashil"; "Yashil"); Safar; // ...

    Agar o'zgaruvchi bo'lsa ranguning "qizil" ning ma'nosi bor, keyin modal derazaga tarjimani - "qizil" va dizayndan chiqing (tanaffus;). Agar o'zgaruvchi bo'lsa rang "Yashil" ning ma'nosi, model derazada - "yashil" va dizayndan chiqing (tanaffus;).

  • Gullar uchun "ko'k" va "ko'k" Guruhni ijro etish:
  • // ... ish "ko'k" ning ishi: "ko'k": ogohlantirish ("ko'k"); Sindirish; // ...

    Agar o'zgaruvchi bo'lsa rang"Ko'k" yoki o'zgaruvchanning ma'nosi bor rangunda "ko'k" ning ma'nosi bor, keyin modal derazaga tarjimani namoyon qiling va dizayndan chiqing (tanaffus;).

  • Dastur tomonidan taqdim etiladigan ranglar uchun mahsulotni tashkil qiling:
  • // ... standart: ogohlantirish ( "Y Bizda bu rang haqida ma'lumot yo'q")) // tugmachasining oxiri

    // ... standart: ogohlantirish ("Y bizda bu rang haqida ma'lumot yo'q") // tugmachasining oxiri

  • Brauzerda skriptni sinab ko'ring.

JS 3_6 vazifasi. Quyidagi kod parchasidagi xatolarni toping va tuzating:

14 15 16 17 Var raqam \u003d so'rov ( "1 yoki 2 raqamini kiriting:"); O'zgartirish ("1" (bitta) (bitta »); tanafforatlar;" 2 "(" Ikkita "(" ikkita ");); Standart; "Siz 1 va 2 dan boshqa qiymatni kiritdingiz") ; } ; }

var raqam \u003d so'rov ("1 yoki 2 raqamini kiriting:"); O'zgartirish ("1" (bitta) (bitta »); tanaffus;" 2 "(Hujjatlar.write (" ikkita "); tanaffus; Odatiy (" Siz 1 dan boshqa qiymatni kiritdingiz va 2 "););)


JS 3_7 vazifasi. Keyingi kodni bajarayotganda ekranda nima bo'ladi?:

1 2 3 4 5 6 7 8 9 10 11 12 13 Var qiymat \u003d "2"; O'zgartirish (qiymati) ("1"; "2": "2": "3": "4"; "5": "5": "dunyo"); Standart: hujjat.write ("xato");)

var qiymat \u003d "2"; O'zgartirish (qiymati) ("1"; "2": "2": "3": "4"; "5": "5": "dunyo"); Standart: hujjat.write ("xato");)


JS 3_8 vazifasi. Foydalanuvchi raqamini so'rash - filialdagi qarg'a soni. Kiritilgan raqamga qarab (10 dan ortiq emas), xabarni chiqarish: - filialda o'tiradi 1 crow. - filialda o'tiradi 4 qichqiriq - filialda o'tiradi 10 Roron

  1. Kiritilgan raqamga qarab, so'zning oxiri o'zgaradi "qarg'a".
  2. JavaScript operatoridan foydalanishni tekshirish uchun.
  3. Ushbu sahifani Natija papkasida saqlang (keyingi ish uchun foydali).


O'z-o'zini boshqarish uchun savollar:

  1. Bu holda dizayndan foydalanish uchun shartli operatori sifatida tavsiya etiladi kalit?
  2. Operatordagi standart blok nima kalit?
  3. Dizaynda tanaffus operatoridan foydalanish kerakmi? kalit?
  4. Qanday qilib guruhlar operatordagi qiymatlar uchun bir nechta variantlar uchun amalga oshiriladi kalit?

JavaScript tilining tsiklik operatorlari - uchun

Sintaksis:

uchun (hisoblagichning boshlang'ich qiymati; holat; hisobotchining o'sishi) (// iBlock operatorlari ..)

Muhim: Saylovning tsikl oldindan ma'lum bo'lganida, tsiklik harakatlarni takrorlash kerak bo'lganda ishlatiladi (tsiklda nechta iteratsiyalar)

  • Meteret o'lchagichining boshlang'ich qiymati sifatida tayinlash ifodai qo'llaniladi: masalan, i \u003d 0 - tsikli hisoblagich noldan boshlanadi:
  • uchun (Var I \u003d 0; holat; hisoblagichning o'sishi) (// iBlock operatorlari ..)

  • Peshtaxtaning o'sishi sifatida bosqichda bir qadam yuqoriroq ko'tarilishi kerak: masalan, har bir tsikl iteratsiyasi o'sish bilan birga keladi, deb ta'kidlaydi 1 :
  • uchun (Var I \u003d 0; shart; i ++) (// iBlock operatorlari ..)

  • Tsikl holati - bu metrning yakuniy qiymati: masalan, i10, tsiklni to'xtatadi:
  • uchun (i i \u003d 0; i<10; i++) { //..блок операторов.. }

JavaScript-da tsikl uchun foydalanish misolini ko'rib chiqing:

5-misol: Raqamlar ketma-ketligini namoyish eting 0 1 2 3 ... 9 , har bir raqam - yangi liniyadan. 0 1 2 ... 8 9


✍ Yechim:
  • Raqamlar ketma-ketligini namoyish qilish uchun biz o'z qiymatini o'zgartirishi kerak bo'lgan tsikl hisoblagichidan foydalanamiz 0 oldin 9 Ketma-ketlik bo'yicha.
  • Shunday qilib, uchun tsikli hisoblagichning boshlang'ich qiymati Qiymatini tenglashtiradi 0 ; sifatida tsikl shartlari Yakuniy qiymatni belgilang - ii \u003d 9; Qadam peshtaxta teng bo'lishi kerak 1 (I ++), chunki ketma-ketlik a'zolari o'rtasidagi farq:
  • uchun (i i \u003d 0; i<10; i++) { document.write(i+"
    "); }

    Masalan, tsikli hisoblagich qiymatlari ekranda ko'rsatiladi, chunki i ++ hisoblagichining o'sishi, ekranda mos ravishda paydo bo'ladi 0 1 2 3 ... 9 va har bir raqam - yangi chiziqdan (yorliq)
    ).

  • Brauzerda skriptni sinab ko'ring.

JS 3_9 vazifasi. 1 oldin 15 .

  1. Raqamlar ketma-ketligi sifatida tsikli hisoblagichdan foydalaning uchun.
  2. O'zgaruvchan identifikatorni ishlating sum..

Kod parchasi:

Uchun (Var I \u003d ...; ...) (sum \u003d so'm + so'm;) ...

Tsikl chiqish operatorlari sindirish va davom eting. JavaScript-da. Operator CHIQISH.

Tekshiruv operatori tsiklning butun tanasini buzadi, ya'ni I.E. Tsikldan JavaScript-ga chiqing.

Davom etuvchi operator tsiklning joriy amalga oshirilayotgan iteratsiyasining bajarilishini to'xtatadi, ammo tsiklning bajarilishini davom ettirishni davom ettirganda.

Tanaffus ishini ko'rib chiqing va operatorlarni quyidagi misolda davom ettiring:

Misol: Kod parchasi algoritmining ob'ekti. Nima bo'ladi?

Kod parchasi:

1 2 3 4 5 6 uchun (i i \u003d 0; i< 10 ; i++ ) { if (i== 4 ) continue ; document.write (i+ "
"); agar (i \u003d\u003d 8) sindirilgan bo'lsa;)

uchun (i i \u003d 0; i<10;i++) { if (i==4) continue; document.write(i+"
"); agar (i \u003d\u003d 8) sindirilgan bo'lsa;)


✍ Yechim:
  • Misolning uchinchi chizig'ida bu ko'rsatkich mavjud bo'lgan holat mavjud 4 Ko'rsatmaydi: operator davom eting.mavjudligini tugatmasdan tsiklning keyingi itereratsiyasiga o'ting.
  • 5-qatorda 5-qatorda tsikldan chiqish, lekin shu bilan birga bu raqam 8 U ko'rsatiladi, chunki chiqish bayonnomasi shartga bog'liq (4-bosqichda). Uchrashuv sindirishTarjimon tsiklning ishlashini yakunlaydi.
  • Shunday qilib Ekranda quyidagilar bo'ladi: 0 1 2 3 5 6 7 8 - yangi liniyadan har bir raqam.

JS 3_10 topshirig'i. Barcha butun sonlarning yig'indisini olib tashlang 1 oldin 15 Raqamlarning umumiy sonidan yo'q qilish 5 va 7 .

Elektron operator

Javontapip Til dastur kodeksidan chiqish operatorini taqdim etadi - chiqish bayonnomasi.
Ko'pincha operator foydalanuvchi kirish xatosini chiqarib tashlash uchun ishlatiladi.


Misolni ko'rib chiqing:

6-misol: Foydalanuvchi raqamini kiriting. Agar raqami kiritilmagan bo'lsa, xabarni namoyish eting. "Raqam kerak!" va dasturning ishini to'xtating.


✍ Yechim:
  • O'zgaruvchini ishga tushiring raqam Foydalanuvchi tomonidan kiritilgan modal oynada kiritilgan qiymat:
  • var raqam \u003d so'rovni ("Raqamni kiriting");

  • Sumbate-ni butun sonni o'zgartirishning o'zgarishi funktsiyasidan foydalanib, kiritilgan qiymat raqami:
  • raqam \u003d tahlil qilish (raqam); // Nan-ni qaytaring - raqam emas

    Agar hech qanday raqam kiritilmagan bo'lsa, funktsiya Nan qiymatini qaytaradi (ingliz tilidan. raqam emas - raqam emas.

  • O'zgaruvchining qiymatini tekshiring raqam ISNAN funktsiyasidan foydalanish:
  • x \u003d isnan (raqam); // Agar qiymat raqami bo'lmasa, to'g'ri

    ISNAN funktsiyasi qaytish qiymati to'g'ri. Agar o'zgaruvchisi raqam bo'lmasa

  • Bilan qoida "yolg'on" qoidalari O'zgaruvchan qiymatni tashkil etish X.. Agar qiymat raqami chiqmasa, tegishli sharh va dasturni to'ldiring:
  • agar (x) ("Sloct (" raqam! "); Chiqish; // dasturdan chiqish)

  • Dasturni davom ettirish uchun (agar kiritilgan qiymat raqami bo'lsa), quyidagi oynani kiritish bilan quyidagi oynani chiqaring:
  • ogohlantirish ("Ikkinchi raqamni kiriting"); // kirganingizda operator bajarilmaydi

  • Brauzerda skriptni sinab ko'ring.

O'z-o'zini boshqarish uchun savollar:

  1. Uchta tsikl parametrlarini sanab bering uchun Va ularning maqsadlarini tushuntiring.
  2. Velosipeddan chiqish va uning to'xtashi uchun qaysi operatorlar ishlab chiqilgan? Ularning ishlatilishiga misollar keltiring.
  3. Qaysi operator mo'ljallangan cHIQISH?

Bir necha metr u erdami?

Amaldagi tsikl bilan qiziqarli ish mumkin shu bilan birga, ikki hisoblagich tsiklda.
Misolni ko'rib chiqing:

7-misol: Skriptdan foydalanib, quyidagi juftlikni uchta qatorga chop eting: i \u003d 0 j \u003d 2 i \u003d 1 j \u003d 2 j \u003d 4


✍ Yechim:
  • Tsikl uchun ikkita metrni tashkil qiling: men ketma-ketlik uchun 0 1 2 , metr metr, ketma-ketlik chiqishi uchun 2 3 4 :
  • 1 2 3 uchun (i \u003d 0, j \u003d 2; i< 10 , j< 5 ; i++, j++ ) { }

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

    Endi tsiklning uchta parametrining har birining har biri ikkita qiymatga ega. vergul orqali (Masalan, ikkita qiymatli birinchi parametr: i \u003d 0, j \u003d 2). Parametrlar ro'yxatiga kiritilgan vergul orqali(;).

  • Har bir qatordan chiqish uchun yorliqdan foydalaning
    :
  • 1 2 3 4 uchun (i \u003d 0, j \u003d 2; i< 10 , j< 5 ; i++, j++ ) { document.write ("
    i \u003d "men," j \u003d ", j";)

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

"Chivinda" avlod: Qanday qilib?

Quyidagi vazifani bajarishdan oldin misolni ko'rib chiqing. dinamik bino HTML sahifasi JavaScript bilan.

8-misol:

  • Foydalanuvchi tomonidan kiritilgan ma'lumotlarga qarab veb-sahifada belgilangan va raqamlangan ro'yxatlarni dinamik ravishda yaratishingiz kerak: foydalanuvchidan kirish uchun so'rov yuboring ro'yxatni ko'rish (raqamlangan (1-raqam) yoki belgilangan (2 raqami) va keyin ro'yxat elementlari soni.
  • Javobga qarab, kerakli miqdordagi narsalar bilan yorliq yoki belgilangan yoki raqamlangan ro'yxatga qarab.
  • Agar mavjud bo'lmagan ro'yxat turi kiritilmagan bo'lsa, keyin xabar chiqaring "To'g'ri turini kiriting!" va dasturdan chiqing ().

Eslatma teglari:
raqamli ro'yxat yorliqlari:

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

belgilangan ro'yxat yorliqlari:

var ro'yxatingiz \u003d so'rov ("Kirish" 1 "- agar belgilangan ro'yxat" 2 "- agar raqamlangan ro'yxat" bo'lsa ";

  • Kiritilgan qiymatni tekshiring: raqamlangan ro'yxat uchun (1-raqam) tegni ko'rsating
      , etiketlangan (Digit 2) - teg
        . Agar boshqa qiymat kiritilsa, chiqing, chiqing va dasturni tugating:

            ") Boshqa (" To'g'ri turini kiriting "); Chiqish;)

          • O'zgaruvchini ishga tushiring kolimo. Foydalanuvchi tomonidan kiritilgan modal oynada kiritilgan qiymat:
          • var Kaolo \u003d Sarta ("elementlar sonini kiriting";

          • Sapsint funktsiyasidan raqamni raqamli ishlatish uchun satr qiymatini o'zgartirish uchun:
          • uchun (i i \u003d 1; i<=kolvo; i++) document.write("");

          • Ro'yxatlar tegishli teglar bilan yopilganligi sababli, ro'yxatlar ro'yxatiga qarab yopiladigan teglarni chiqarish:
          • Agar (listtype \u003d\u003d '1 ») hujjat.write.write (""Boshqa if (listtype \u003d\u003d" 2 ") hujjat.write.write ("" ) ;

            agar (listtype \u003d\u003d '1 ») hujjat.write.write ("

        "Boshqa if (listtype \u003d\u003d" 2 ") hujjat.write.write ("
      ");

    1. Brauzerda skriptni sinab ko'ring.
    2. JS 3_11 vazifasi.
      Ko'rsatilgan teglarni ko'rsatadigan skript yozing kiritishTurli xil turdagi raqamlarga qarab:

      1 - matn maydoni,
      2 - tugmasi,
      3 - radio.(tugmasini almashtiring).

      Olingan teglar soni ham so'rashi kerak.

      Eslatma teglari:

      1 - matn maydonchasi uchun: 2 - tugmachani bosing: 3 radio uchun:

      Chiqish misoli:

      JS 3_12 vazifasi. Tsikllar uchun JavaScript yordamida 9x9 shaxmat taxtasini chizish. Jadval uchun HTML yorliqlariga "torting" taxtasi:

      Eslatma teglari:

      <jadval chegarasi \u003d "1" kengligi \u003d "30%"\u003e <tr\u003e <tD\u003e-</ Td\u003e -</ Td\u003e </ tr\u003e </ Jadval\u003e

      --

      • 9 satr chizish uchun metr bilan tsikl uchun tashqi qismni tashkil qilish kerak.
      • Har bir qatorda 9 ta hujayralarni chizish uchun J bilan tsikl uchun ichki (o'rnatilgan) tashkil qilish kerak.
      • Teglar va iplarni chizish uchun hujjatdan foydalaning. Masal usuli.

      Natijada:

      Bundan tashqari:

      1. Stol hujayralarida tsikl hisoblagichlaridan (i va j) yordamida ko'paytirish jadvalini namoyish eting.
      2. Birinchi qator va qizil fonni olish uchun birinchi ustun (BGCOLOOR stol hujayralarini):
        <td bgolor \u003d "qizil"\u003e-</ Td\u003e

        -

      Natijada:


      O'z-o'zini boshqarish uchun savollar:

      1. "Dinamik sahifaning qurilishi" tushunchasi nimani anglatadi?
      2. Sahifani qurishda qaysi til dizayni qo'llaniladi?

      Velosiped JavaScript - Til operatorlarida

      Whel operator sintaksisi:

      (Shart) (// iBlock operatorlari ..);

      Misol: Dialog oynasiga ulanish 1000 (2, 4, 8 ... 512). Ogohlantirish () usulidan foydalaning


      ✍ Yechim:
      • Listing ssenariysi:
      • 1 2 3 4 5 var a \u003d 1; Vaqt (A.)< 1000 ) { a*= 2 ; alert(a) ; }

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

        a * \u003d 2 → kompozitsion topshiriqning ishlashi qo'llaniladi: mahsulot tayinlash bilan birlashtirilgan mahsulot, i.e. a \u003d a * 2 bilan bir xil

      • Natijada brauzerdagi natijani sinab ko'ring.

      Qanday qilib tanaffus va operatorlarni qayerda davom ettirishadi?

      Misol:

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

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

      DanRES natijalari chiqadi 128 Inklyuziv va qiymat 64 o'tkazib yuboriladi. Ular. Dialog oynasida biz quyidagilarni ko'ramiz: 2 4 8 16 32 128

      JS 3_13 vazifasi. Quyidagi kodlar qanday qiymatlar bo'ladi?

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


      JS 3_14 vazifasi. Qurilish kodini yozing h. darajasida y.Tsiklni ishlatish. O'zgaruvchilarning talablari va natijalarni ogohlantirish () yordamida chiqing.

      To'liq kod:

      1 2 3 4 5 6 7 8 9 Var x \u003d ...; var y \u003d ...; Hisoblagich \u003d 1; clanlo \u003d x; (... ...) (...) (CLASLO \u003d x * ...; hisoblagich \u003d ...;) ogohlantirish (CISLO);

      var x \u003d ...; var y \u003d ...; Hisoblagich \u003d 1; clanlo \u003d x; (... ...) (...) (CLASLO \u003d x * ...; hisoblagich \u003d ...;) ogohlantirish (CISLO);

      Raqam raqamini topish uchun mo'ljallangan dasturdagi xato:

      1 2 3 4 5 6 7 8 9 10 11 12 13 Var Count \u003d SAVOLLAR ("Raqamni kiriting"; vary fizik \u003d 1; Hujjatlar.write (yozish) "Fitnachining raqamlari:" + Hisoblagich + "! \u003d"); Qilish (agar (faktori \u003d 1; 1) faktorial / pog'onali; hisoblagich \u003d hisoblagich \u003d hisoblagich (hisoblagich\u003e 0); Hujjatlar.write (fizikaviy);

      var Count \u003d SAVOLLAR ("Raqamni kiriting"; vary fizik \u003d 1; Hujjatlar.write ("Manba raqamlari:" + Countle + "! \u003d"); Qilish (agar (faktori \u003d 1; 1) faktorial / pog'onali; hisoblagich \u003d hisoblagich \u003d hisoblagich (hisoblagich\u003e 0); Hujjatlar.write (fizikaviy);


      JS 3_16 vazifasi. Foydalanuvchi nomini kiritish bo'yicha dasturni o'zgartirish:

      Foydalanuvchi ismga kirguncha foydalanuvchining ismini talab qiling (I.E., dala haqiqatan ham to'ldiriladi va bekor qilish kalit bosilmaydi). Ism kiritilganda, keyin chiqing "Salom, ism!". Hujjat.

      JavaScript-da xatolarni qanday qidirish kerak?

      Ba'zi hollarda, sahifadagi kod tushunarsiz emas. Xatoni qaerdan qidirish kerak? Bunday hollarda, siz qilingan bayonotni qo'llashingiz mumkin.

      Urinib ko'ring ... operator hech qanday kod parchasini chiqarishga harakat qilayotganda, agar kodda xato bo'lsa, unda ekranga xatolik ko'rsatish mumkin.
      Xato E.Message ob'ektida saqlanadi.

      Misoldan foydalangan holda operatorning ishini ko'rib chiqing:

      Misol: Dasturda xato operatorini yozing. Xato qilingan xato kodida xatolik mavjudligini tekshiring: Agar kodda xato bo'lsa - xabar chiqaring "Xatolarni qayta ishlash: xato nomi". Noto'g'ri operatorni tekshirgandan so'ng, kodda xatolik mavjudmi yoki yo'qligidan qat'iy nazar xabar beradi "Fine qilish harakatlari"


      ✍ Yechim:
      • Xato bilan xabar sifatida, biz xato bilan yozilgan tezkor () usuldan foydalanamiz - prom (). Xato xabari Iroqli bo'limga ilova qilinadi:
      • ogohlantirish ("ga"); Urinib ko'ring ("Raqamni kiriting"; // Operator xato bilan operator)

        Ingliz tilini sinab ko'ring. - "Sinash", shuning uchun biz kodni kod parchasining oldida sinab ko'ramiz, ehtimol, ehtimolda xato bor (bizning holatda, haqiqatan ham xato bor).

      • Xatolik haqida xabarnoma xabari ushlab turish uchun joylashtirilishi kerak:
      • 6 7 8 9 Ushlash (e) (ogohlantirish ( "Xatolarni qayta ishlash:"+ E.Message); )

        ushlash (e) ("ogohlantirish (" Xatolarni qayta ishlash: "+ E.Mesge";)

        Agar xato haqiqatan ham bo'lsa, unda ushlash bayonoti (ingliz tilidan. Tutib olish) ushbu xatoni E ob'ektida saqlaydi. Kelajakda u E.Message dialog oynasida namoyish qilinishi mumkin.

      • Xatolik kodda bo'lishidan qat'i nazar, chiqadigan yakuniy xabar uni nihoyat blokirovka qiladi:
      • va nihoyat ("yakuniy harakatlar");) ogohlantirish ("keyin");

        Agar xato bo'lsa, tarjimon bo'lsa, tarjimonni o'z misolida amalga oshirish, keyinchalik (ingliz tilida tugatish), "Va nihoyat", "Va nihoyat", "oxir-oqibat", "Va nihoyat"), "Va nihoyat", "oxir-oqibat", "Va nihoyat", "oxir-oqibat", "Va nihoyat"), "Va nihoyat", "oxir-oqibat", "Va nihoyat", "oxirida Xato yoki yo'qmi. Agar tutun blokida xato yuz bersa ham.

      Muhim: Nihoyat dizayndagi blok ixtiyoriy emas.


      JS 3_17 vazifasi. Yuqorida tavsiflangan misolni quyidagi o'zgartirishlar bilan bajaring:

    3. Nihoyat blokni olib tashlang va kodni bajarishga rioya qiling.
    4. Noto'g'ri operator o'rniga qo'yib yuborilishi va natija nima bo'lishini ko'ring.
    5. Xulosa:

      Dars quyidagi JavaScript Til operatorlari va dizaynlarini tavsiflab berdi:

      JavaScript shartli operatorlari:

    6. Agar operator bo'lsa
    7. Shartli topshiriq (Ternare operatori)
    8. Tarmoqqa tuting Operator
    9. Tsikl operatorlari:

    10. Uchun tsikl
    11. Tsikl paytida
    12. Tsikl ... qachon
    13. ... ichida ...
    14. Yakuniy vazifa JS 3_18.
      Ikkita uchun o'yin yarating:

      1. Dastur birinchi o'yinchini raqamni kiritishni so'raydi 1 oldin 100 (Ikkinchi o'yinchi kiritilgan raqamni ko'rmaydi). Ikkinchi pleer keyin kiritilgan raqamni taxmin qilishni so'raydi. Bunga javoban xabar ko'rsatiladi. "kam" yoki "Lut" Javob berilganiga qarab. Agar o'yinchi taxmin qilsa, - tabriklanadi. Agar taxmin qilmasa - o'yin davom etmoqda (raqami taxmin qilinmaguncha).
      2. Sotishga urinishlar sonini hisoblang va raqamni echilgan bo'lsa, natijani bering.


      O'z-o'zini boshqarish uchun savollar:

      1. Qaysi holatlarda tsiklda foydalanish tavsiya etiladi? Uning foydalanish misolini nomlang.
      2. Urinishning maqsadi nima kertiladi?
      3. Har bir harakatning topshirig'ini tushuntiring.ccatch operator blokini aniqlang.

      Ushbu maqolada shartli va mantiqiy JavaScript operatorlarini ko'rib chiqing.

      JavaScript shartli bayonotlari

      Shartli operatorlar - Bu JavaScript tili (Ecisph1phity) operatorlari, bu ba'zi holatlarga qarab, bir yoki bir nechta aniq ko'rsatmalarni bajarishga imkon beradi.

      JavaScriptdagi shartli operatorlar shakllari:

      • shartli agar operator (bitta filial bilan);
      • shartli operator, agar ... boshqa filial bilan (ikkita filial bilan);
      • boshqa shartli operator, agar ... (bir nechta tarmoqlar bilan);
      • terner operatori (? :);
      • selektsiya operatori.

      Shartli operatori Agar

      Agar operator sintaksissi bo'lsa:

      Agar (shart) ko'rsatma bo'lsa

      Agar bayonot bo'lsa, shartli bo'lsa:

      • kalit so'z if;
      • to'g'ri yoki noto'g'ri (yoki ushbu qiymatlardan biriga berilishi kerak bo'lgan qavslardagi iboralar);
      • bajarish kerak bo'lgan ko'rsatmalarAgar shart to'g'ri bo'lsa yoki unga berilsa.

      Masalan:

      Agar (haqiqiy) hisoblang \u003d 4;

      Ushbu misolda, qiymat to'g'ri. Bu shuni anglatadiki, hisob-kitob \u003d 4-yo'riq har doim amalga oshiriladi. Ushbu misol shunchaki operatorning ishlash printsipini tushuntirish uchun beriladi, chunki U har qanday ma'nodan mahrum.

      Masalan, biz ovozlar o'zgaruvchisining qiymatini 1 ga oshiramiz, agar u (uning turi) raqam bo'lsa:

      Agar (ovoz chiqaruvchilar \u003d\u003d\u003d\u003d raqam ») Ovozlar ++;

      Agar siz bir nechta ko'rsatmalarni bajarishingiz kerak bo'lsa, ular jingalak qavslarga joylashtirilishi kerak:

      Agar (ovozli ovozlar \u003d\u003d\u003d\u003d\u003d "Raqamlar") (Ovozlar ++; konsol.log ("Ovozlar soni:" + ovozlar:

      Agar (ovoz chiqaruvchilar \u003d\u003d\u003d / raqami ») (Ovozlar ++;)

      Agar ... boshqa operator

      Agar men haqiqat bo'lganingizda, siz biron bir ko'rsatmalarni bajarish shartidan ko'ra va boshqalari bilan yolg'onga ega bo'lganingizda kerak bo'lganda ishlatiladi.

      Sintaksis:

      Agar (shart) (shart) (bir yoki bir nechta ko'rsatma (bir yoki bir nechta ko'rsatma bajariladi)) boshqa (bir yoki bir nechta ko'rsatmalarga (bir yoki bir nechta ko'rsatma (bir yoki bir nechta ko'rsatma)

      Masalan, raqam hatto yoki yo'qligi to'g'risida xabarni qaytarib oling:

      Agar (% 2) (1-sonli) ("g'alati!" (Konsol.log ("nima!");)

      Haqiqiy yoki yolg'onga oid qoidalar qoidasi

      Agar bayonot shartida ifoda haqiqiy yoki yolg'onga teng bo'lmasa, unda JavaScript uni bu qadriyatlardan biriga olib boradi. Ushbu harakatni "yolg'on qoidasi" yordamida amalga oshiradi.

      Ushbu qoidaning ma'nosi: har qanday ibora haqiqatdir, quyidagi qiymatlardan tashqari.:

      • yolg'on (yolg'on);
      • "" yoki "" "(bo'sh satr);
      • Nan ("raqamli emas" raqami "emas;
      • 0 ("nol");
      • null ("bo'sh" qiymat);
      • aniqlanmagan ("noaniq" qiymat).

      Masalan, o'zgaruvchan ismserda saqlanadigan qiymatga qarab biz brauzer konsoliga xush kelibsiz xabarni chiqaramiz:

      Ifuser) ("Salom" ("Salom," + Ism + "NOM +"! ");) Boshqa (" Salom, Mehmon! "););)

      Agar jomoser o'zgaruvchisi bo'sh satr bo'lsa, unda yolg'on qoidalarga muvofiq, u yolg'on qiymatiga beriladi. Binobarin, "Salom, Mehmon!" Konsolda namoyish etiladi .

      Va agar, masalan, otaysa o'zgaruvchisi Temur satrini o'z ichiga oladi, bu holatdagi ibora haqiqat qiymatiga beriladi. Natijada, "Salom, Timur!" Maslahatda paydo bo'ladi .

      Boshqa operator bo'lsa ... (bir nechta shartlar)

      Sintaksis:

      Agar (shartli bo'lsa) (1-ko'rsatma) (ko'rsatmalar2) (ko'rsatmalar 2) (ko'rsatmalar 2) (3 // ...) Agar (shartli ko'rsatmalar) bo'lsa haqiqiy emas yoki ushbu qiymatga berilmaydi)

      Shartli (Ternary) Operator (? :)

      Terner operatori - Ikkala berilgan ikkita iboraning shartiga qarab, ishlatilishi mumkin bo'lgan JavaScript operatoridan foydalanish mumkin.

      Sintaksis:

      Shartmi? Ifoda1: ifoda2.

      Ternar operator ramzlar bilan ajratilgan uchta operandadan iboratmi? va: Birinchi operandda Terchnar operatorning holati o'rnatiladi. Bundan tashqari, qavs ichida ham yakunlanishi mumkin. Agar shart to'g'ri bo'lsa yoki ushbu qiymatga berilsa, ibora amalga oshiriladi1, aks holda 2-ifoda.

      Masalan:

      (Raqam\u003e 10)? Konsol.log ("10 dan ortiq!"): Konsol.log ("10 dan kam yoki unga teng emas");

      JavaScript-da, bir nechta o'nta operatorlarga ruxsat beriladi (? :):

      Var DayNumber \u003d Yangi sana (). Kepday (); Kun \u003d (dinchiber \u003d\u003d 0)? "Yakshanba": (dinchiber \u003d\u003d 1)? Dushanba: (dinchiber \u003d\u003d 2)? Seshanba: (dinchiber \u003d\u003d 3)? "Chorshanba": (dinchiber \u003d\u003d 4)? "Payshanba": (dinchiber \u003d\u003d 5)? "Juma": (DayNumber \u003d\u003d 6)? Shanba: "Hafta noma'lum kun"; Konsol.log ("bugun" + kunlik.Toloker () + ".");

      Yuqoridagi misol, lekin agar operatorning bir nechta yozib olishidan foydalanib ... boshqa:

      Var DayNumber \u003d Yangi sana (). Kepday (); Agar (kun \u003d kun \u003d "Yakshanba"; (kun \u003d "dushanba kuni" (kun \u003d "seshanba kuni";) (kun \u003d "seshanba";) Boshqa if (tongindumber \u003d\u003d 3) (kun \u003d "muhit";) (kun \u003d kun \u003d\u003d\u003d 5) (kun \u003d "juma"; ) Boshqa if (tongindumber \u003d\u003d\u003d 6) (kun \u003d "shanba kuni";) boshqa (kunlik "Haftaning noma'lum kunligi";) konsol ("bugun" + "Bugun" + "Bugun" + "" + "

      Kompyuter operatori

      Kommutatsiya bayonnomasi ko'rsatmalarning bir versiyasini bir nechadan ifodalanish qiymatiga qarab amalga oshirish uchun mo'ljallangan. Bir yoki boshqa variantni tanlash iboriq qiymat (ish) natijasining qat'iy tengligi bilan belgilanadi.

      Sintaksis operatori TRUB:

      Switr (ifoda) (agar iborani hisoblash natijalari »agar ifodalash natijasida amalga oshiriladigan ko'rsatmalar (agar u ishlatilmasa, quyidagi buyruq operatori) Qiymatli qiymat: // ... Agar ifoda hisobi "qiymatini hisoblash natijalari bo'lsa, bajariladi; // ixtiyoriy ko'rsatma (agar u ishlatilmagan bo'lsa, so'ngra quyidagilar qo'mondoni) bajariladi) / / ... Case qiymati n: //. .. Agar ifoda hisobvarag'ining natijasi bo'lsa, bajarilishi mumkin bo'lgan ko'rsatmalar; // ixtiyoriy ko'rsatma (agar u ishlatilmasa, keyinchalik foydalanilmasa) ) Standart: // bajarilishi mumkin bo'lgan ko'rsatmalar bajariladi, agar ifodaning natijasi bo'lsa, qiymatlardan biriga teng emas)

      Standartning kalit so'zlari majburiy emas. Agar iboraning natijasi biron bir variantga teng bo'lmasa, bajarilishi kerak bo'lgan ko'rsatmalarni belgilashingiz kerak bo'lganda ishlatiladi.

      Chiqish yo'riqnomasi ixtiyoriydir. Bu kommutator operatorining bajarilishini to'xtatish va undan keyin qo'llaniladigan qo'llanmani o'tkazish uchun mo'ljallangan.

      Masalan, biz konfetlar sonidagi brauzer konsoliga xabar keltiramiz:

      Varubkronrandyboys \u003d 1, hisob-kitoblar \u003d 2, xabar; Switr (Yuborish 1: xabar \u003d "bitta shakarlamalar"; "Ikki yoki uchta shakar"; "to'rtta shakar"; "to'rtta shakarlama"; Odatiy: Xabar \u003d "" Yolg'iz emas, balki bitta emas, balki to'rtta shakarlama ";) konsol konsoliga xabar bering.log (xabar);

      Yuqoridagi misolda hisoblangan ibora 3 ni tashkil etadi 3. Shuning uchun xabar \u003d "ikki yoki uchta shakar" va tanaffus bajariladi. Chiqarish yo'riqnomasi kommutatsiya bayonotining keyingi bajarilishini to'xtatadi va undan keyin boshqariladigan ko'rsatmalarni boshqarishni amalga oshiradi, i.e. Konsol.log (xabar). U xabarni konsolga olib chiqadi "Ikki yoki uchta shakar".

      Masalan, biz haftaning hozirgi kunini konsolga olib chiqamiz:

      Var kun \u003d ""; O'zgartirish (yangi sana (). Kunda: "Yakshanba"; Safar 1: "Safar"; Safar 3: Kun \u003d kun \u003d "Chorshanba"; Qatiqlar 4: "Payshanba"; Sante \u003d "Shanba"; Standart: Standart: "Haftaning noma'lum kun"; ) Konsol.log ("bugun" + kunlik "+" "+" "". ");

      Chiqish yo'riqnoma ishlatilmaydigan misol:

      Var natijasi \u003d "muvaffaqiyat"; O'zgartirish (natija) ("muvaffaqiyat" ("Muvaffaqiyat": "Muvaffaqiyat!"; "Noto'g'riCaptata": "Noto'g'riCaptata!"

      Ushbu misolda kommutator operatori ifodasi muvaffaqiyat. Binobarin, konsole.log yo'riqnomasi bajariladi ("Muvaffaqiyat!"), Bu "muvaffaqiyat!" konsolda. Ammo undan keyin hech qanday yorilish ko'rsatkichi yo'q, so'ngra skriptning ijrosi quyidagi versiyada davom ettiriladi. Shunday qilib, ko'rsatmalar hali ham tanaffus yoki operatorning oxiri bilan uchrashish uchun amalga oshiriladi. Ushbu misol natijasida 3 ta xabar konsolda: "Muvaffaqiyat!" . "Noto'g'ri CAPTCHA!" Va "Xato!" .

      Ba'zi hollarda, bu xatti-harakatlar talab qilinishi mumkin, ammo bunday emas. Xato shunchaki bu erda qilingan.

      Misolning belgilangan versiyasi:

      Var natijasi \u003d "muvaffaqiyat"; Switr (natijasi) ("Muvaffaqiyat" ("Muvaffaqiyat!"); Tanaffus; "Noto'g'riCaptcha": "Noto'g'ri parda!" ););)

      Mantiqiy operatorlar

      JavaScript quyidagi mantiqiy operatorlarni ajratib turing:

      • && && - mantiqiy "va";
      • || - mantiqiy "yoki";
      • ! -Logik "emas."

      Agar Boolean qiymatlari operanddagi qiymatlar1 && operand2 mantiqiy ifodasida qo'llanilsa, bu ifodaning natijasi har bir kishi to'g'ri bo'lsa; Aks holda, bu iboraning qiymati yolg'onning ahamiyati bo'ladi.

      Soxta va & Soxta // noto'g'ri / & yolg'on /& noto'g'ri / lol // noto'g'ri haqiqiy // haqiqiy // haqiqiy

      Agar ishlamayotgan Operand1 && operand2 mantiqiy ifodasida bo'lmasa, unda bu iboraning natijasi operandning natijasi oda bo'lib qoladi, agar u yolg'onga berilishi mumkin bo'lsa; Aks holda, ushbu iboraning natijasi operandda bo'ladi2.

      5 && 0 // 0 1 && 5 // 5 "satr" && aniqlanmagan "&&" torli satr2 "

      Agar mantiqiy ifodasida operand1 || bo'lsa Operand2 ishlatilgan Booley qadriyatlari, agar ulardan bittasi rost bo'lsa, ushbu iboraning natijasi to'g'ri bo'ladi; Aks holda, bu iboraning qiymati yolg'onning ahamiyati bo'ladi.

      Soxta || Soxta // yolg'on haqiqiy || Yolg'on / haqiqiy yolg'on || Haqiqiy // haqiqiy haqiqiy || Haqiqiy // haqiqat.

      Agar mantiqiy ifodasida operand1 || bo'lsa Operand2 Booley qadriyatlaridan foydalanmaydi, bu iboraning natijasi operandda bo'ladi, agar u haqiqatga berilsa; Aks holda, ushbu iboraning natijasi operandda bo'ladi2.

      5 || 0 // 5 1 || 5 // 1 "satr" || aniqlanmagan // "satr" "torli satr" || "String2" // "string1"

      Mantiqiy iboraning natijasi! Operand1 Agar operand1 yolg'on yoki ushbu qiymatga berilsa, rost bo'ladi; Aks holda, bu iboraning natijasi soxta narsa bo'ladi.

      Soxta // haqiqat! Haqiqiy // FALSE! "Qator" // noto'g'ri! 5 // yolg'on "