Birinchi navbatda biz kodning asosiy qurilish bloklarini oârganamiz.
Bayonotlar
Bayonotlar â bu amallarni bajaradigan sintaksis konstruktsiyalar va buyruqlardir.
Biz allaqachon alert('Salom, dunyo!') bayonotini koârdik, u âSalom, dunyo!â xabarini koârsatadi.
Kodimizda istalgancha koâp bayonotlarga ega boâlishimiz mumkin. Bayonotlar nuqta-vergul bilan ajratilishi mumkin.
Masalan, bu yerda biz "Salom dunyo"ni ikkita alert ga boâlamiz:
alert('Salom'); alert('Dunyo');
Odatda, bayonotlar alohida satrlarda yoziladi, bu kodni oâqishni osonlashtiradi:
alert('Salom');
alert('Dunyo');
Nuqta-vergullar
Satr tanaffusi mavjud boâlgan holatlarda nuqta-vergulni tashlab qoldirish mumkin.
Bu ham ishlaydi:
alert('Salom')
alert('Dunyo')
Bu yerda JavaScript satr tanaffusini âyashirinâ nuqta-vergul sifatida talqin qiladi. Bu avtomatik nuqta-vergul qoâyish deb ataladi.
Koâp hollarda yangi satr nuqta-vergulni bildiradi. Ammo âkoâp hollardaâ degani âhar doimâ degani emas!
Yangi satr nuqta-vergulni bildirmaydigan holatlar mavjud. Masalan:
alert(3 +
1
+ 2);
Kod 6 ni chiqaradi, chunki JavaScript bu yerda nuqta-vergul qoâymaydi. Agar satr plyus "+" bilan tugasa, u âtoâliq boâlmagan ifodaâ ekanligini intuitiv ravishda tushunish mumkin, shuning uchun bu yerda nuqta-vergul notoâgâri boâladi. Va bu holda, bu moâljallangandek ishlaydi.
Ammo JavaScript haqiqatan ham kerak boâlgan joyda nuqta-vergulni âtaxmin qila olmaydiganâ vaziyatlar mavjud.
Bunday hollarda yuzaga keladigan xatolarni topish va tuzatish juda qiyin.
Agar siz bunday xatoning aniq misolini koârishni istasangiz, ushbu kodni tekshiring:
alert("Salom");
[1, 2].forEach(alert);
Hozircha [] qavslar va forEach ning maânosini oâylashga hojat yoâq. Biz ularni keyinroq oârganamiz. Hozircha faqat kodni ishga tushirish natijasini eslab qoling: u Salom, keyin 1, keyin 2 ni koârsatadi.
Endi alert dan keyingi nuqta-vergulni olib tashlaylik:
alert("Salom")
[1, 2].forEach(alert);
Yuqoridagi koddan farq faqat bitta belgida: birinchi satr oxiridagi nuqta-vergul yoâqoldi.
Agar biz ushbu kodni ishga tushirsak, faqat birinchi Salom koârsatiladi (va xato bor, uni koârish uchun konsolni ochishingiz kerak boâlishi mumkin). Endi raqamlar yoâq.
Buning sababi shundaki, JavaScript kvadrat qavslar [...] oldida nuqta-vergulni taxmin qilmaydi. Shunday qilib, oxirgi misoldagi kod bitta bayonot sifatida qabul qilinadi.
Mana dvigatel uni qanday koâradi:
alert("Salom")[1, 2].forEach(alert);
Gâalati koârinadi, toâgârimi? Bu holda bunday birlashtirish notoâgâri. Kod toâgâri ishlashi uchun alert dan keyin nuqta-vergul qoâyishimiz kerak.
Bu boshqa vaziyatlarda ham sodir boâlishi mumkin.
Biz yangi satrlar bilan ajratilgan boâlsa ham, bayonotlar orasiga nuqta-vergul qoâyishni tavsiya qilamiz. Bu qoida jamiyat tomonidan keng qabul qilingan. Yana bir bor taâkidlaymiz â nuqta-vergullarni koâp vaqt tashlab qoldirish mumkin. Ammo ularni ishlatish xavfsizroq â ayniqsa yangi boshlovchilar uchun.
Izohlar
Vaqt oâtishi bilan dasturlar tobora murakkablashib boradi. Kod nima qilishi va nima uchun qilishini tavsiflovchi izohlar qoâshish zarur boâladi.
Izohlarni skriptning istalgan joyiga qoâyish mumkin. Ular uning bajarilishiga taâsir qilmaydi, chunki dvigatel ularni shunchaki eâtiborsiz qoldiradi.
Bir satrli izohlar ikki marta oldinga yoânalgan chiziq belgilari // bilan boshlanadi.
Satrning qolgan qismi izoh hisoblanadi. U butun satrni egallashi yoki bayonotdan keyin kelishi mumkin.
Masalan:
// Bu izoh o'z satrini egallaydi
alert('Salom');
alert('Dunyo'); // Bu izoh bayonotdan keyin keladi
Koâp satrli izohlar oldinga yoânalgan chiziq va yulduzcha /* bilan boshlanadi va yulduzcha va oldinga yoânalgan chiziq */ bilan tugaydi.
Masalan:
/* Ikki xabar bilan misol.
Bu ko'p satrli izoh.
*/
alert('Salom');
alert('Dunyo');
Izohlar mazmuni eâtiborga olinmaydi, shuning uchun agar biz /* ⦠*/ ichiga kod qoâysak, u bajarilmaydi.
Baâzida kodning bir qismini vaqtincha oâchirib qoâyish foydali boâlishi mumkin:
/* Kodni izohga aylantirish
alert('Salom');
*/
alert('Dunyo');
Koâpgina muharrirlarda kod satrini Ctrl+/ tez tugmasi bilan bir satrli izohga aylantirish mumkin va Ctrl+Shift+/ kabi tugma â koâp satrli izohlar uchun (kod qismini tanlang va tez tugmani bosing). Mac uchun Ctrl oârniga Cmd va Shift oârniga Option dan foydalanib koâring.
Boshqa /*...*/ ichida /*...*/ boâlishi mumkin emas.
Bunday kod xato bilan toâxtaydi:
/*
/* ichki izoh ?!? */
*/
alert( 'Dunyo' );
Iltimos, kodingizga izoh qoâyishdan tortinmang.
Izohlar kodning umumiy hajmini oshiradi, ammo bu umuman muammo emas. Kodni ishlab chiqarish serveriga nashr etishdan oldin kichiklashtiruvchi koâplab vositalar mavjud. Ular izohlarni olib tashlaydi, shuning uchun ular ishlaydigan skriptlarda koârinmaydi. Shuning uchun izohlar ishlab chiqarishga umuman salbiy taâsir qilmaydi.
Keyinchalik oâquv qoâllanmada yaxshiroq izohlar qanday yozish haqida ham tushuntiruvchi Kod sifati bobi boâladi.
Izohlar
<code>yorlig'ini ishlating, bir nechta satrlar uchun - ularni<pre>yorlig'i bilan o'rab qo'ying, 10 satrdan ortiq bo'lsa - sandbox (plnkr, jsbin, codepenâ¦)