|
Veb-dasturlashni bir qadam oldinga olib, html va css tartibidan to'liq huquqli dinamik sahifalarga o'tishga tayyormisiz
|
Sana | 15.07.2022 | Hajmi | 74,61 Kb. | | #802582 |
| Bog'liq JavaScript01
Veb-dasturlashni bir qadam oldinga olib, HTML va CSS tartibidan to'liq huquqli dinamik sahifalarga o'tishga tayyormisiz? Keyin "eng issiq" dasturlash tili - JavaScript bilan tanishish vaqti keldi! Ushbu kitob yordamida siz JavaScript haqida hamma narsani o'rganasiz, o'zgaruvchilardan tortib tsikllargacha. Nima uchun turli brauzerlar kodga boshqacha munosabatda bo'lishini va barcha brauzerlar tomonidan qo'llab-quvvatlanadigan universal kodni qanday yozishni tushunasiz. Nima uchun sahifa tiqilib qolishi va JavaScript kodi bilan maʼlumotlarni uzatish xatolari haqida qaygʻurmasligingiz aniq boʻladi. Oldin bir qator kod yozmagan bo'lsangiz ham, xavotirlanmang - noyob taqdimot formati tufayli ushbu kitob sizni butun o'rganish yo'li bo'ylab osongina yo'naltiradi: oddiy skript yozishdan tortib, murakkab veb-loyihalarni yaratishgacha. hammasida ishlaydi zamonaviy brauzerlar. Ushbu nashrning o'ziga xos xususiyati materialni taqdim etishning o'ziga xos usuli bo'lib, O'Reilli "Birinchi bosh" turkumini dasturlashga bag'ishlangan ko'plab zerikarli kitoblardan ajratib turadi. Notanish suvlarda javascript bilan birinchi tanishish JavaScript ajoyib imkoniyatlarni ochadi. World Wide Webning asosiy dasturlash tili bo'lgan JavaScript veb-sahifalarda kengaytirilgan xatti-harakatlarni aniqlash imkonini beradi. Faqatgina ekran maydonini egallaydigan quruq, zerikarli, statik sahifalarni unuting - JavaScript bilan foydalanuvchilar bilan muloqot qilish, voqealarga munosabat bildirish, Internetdan ma'lumotlarni olish va ulardan foydalanish, grafiklarni ko'rsatish ... va yana ko'p narsalar. Da yaxshi bilim JavaScript-da siz hatto sahifalaringizdagi mutlaqo yangi xatti-harakatlarni dasturlashingiz mumkin. Va ikkilanmang - sizning bilimingiz talabga ega bo'ladi. JavaScript endi nafaqat eng mashhur dasturlash tillaridan biri, balki barcha zamonaviy (va ko'plab zamonaviy bo'lmagan) brauzerlar tomonidan qo'llab-quvvatlanadi; bundan tashqari, brauzerlardan alohida mavjud bo'lgan o'rnatilgan JavaScript ilovalari mavjud. Gap yetarli, lekin. Ishga kirishish vaqti keldi! JavaScript qanday ishlaydi 38 JavaScript qanday yoziladi 39 40-sahifaga JavaScript kodini qanday kiritish kerak JavaScript, bajardingiz uzoq yo'l chaqaloq ... 42 Jamoalar qanday tuzilgan 46 O'zgaruvchilar va qiymatlar 47 Diqqat, kalit so'zlar! 48 Ifodalar bilan ehtiyot bo'ling! 51 Amaliyotlarning takroriy bajarilishi 53 54 qanday ishlaydi JavaScript-da qarorlar qabul qilish 58 Va agar siz ko'p qarorlar qabul qilishingiz kerak bo'lsa ... 59 61-sahifada foydalanuvchini jalb qiling console.log 63 bilan yaqindan tanishish 64 konsolini qanday ochish kerak Jiddiy JavaScript ilovasini yozish 65 Qanday qilib sahifaga kod qo'shishim mumkin? (hisoblash usullari) 68 Belgilash va kod: yo'llar farqlanadi 69 Keyingi qadam haqiqiy kod Siz allaqachon qanday o'zgaruvchilar, turlar, ifodalar ... va hokazolarni bilasiz. Siz allaqachon JavaScript haqida bir-ikki narsani bilasiz. Bundan tashqari, kimdir foydalanadigan qiziqarli narsalarni qiladigan haqiqiy dasturlarni yozishni boshlash uchun bilim etarli. To‘g‘ri, sizda kodlash bo‘yicha amaliy tajriba yetarli emas va biz bu muammoni hozirdanoq hal qilishni boshlaymiz. Qanaqasiga? Keling, JavaScript-da to'liq amalga oshirilgan oddiy o'yin yozishni boshlaylik. Vazifa keng ko'lamli, lekin biz maqsad sari bosqichma-bosqich, bosqichma-bosqich harakat qilamiz. Shunday qilib, keling, biznesga o'taylik va agar siz to'satdan loyihalaringizda bizning ishlanmamizdan foydalanmoqchi bo'lsangiz - biz qarshi emasmiz, kodni o'zingiz xohlagan tarzda yo'q qiling. Hamma uchun funksiyalar funktsiyalari bilan tanishish Ushbu bobda siz birinchi super qobiliyatingizni o'zlashtirasiz. Siz allaqachon dasturlash haqida bir-ikki narsani bilasiz; keyingi qadamni qo'yish va funktsiyalarni o'zlashtirish vaqti keldi. Funktsiyalar turli vaziyatlarda qayta ishlatilishi mumkin bo'lgan kod yozish imkonini beradi; saqlash ancha oson bo'lgan kod; Mavhumlashtirishingiz va oddiy nom berishingiz mumkin bo'lgan kod, shunda siz muntazam tafsilotlarni unutib, haqiqatan ham muhim narsalarni qilishingiz mumkin. Funktsiyalar nafaqat dasturlash mahorati uchun eshikni ochibgina qolmay, balki JavaScript dasturlash uslubida ham muhim rol o'ynashini ko'rasiz. Ushbu bobda biz asosiy tushunchalar, mexanika va funksiyalar qanday ishlashining barcha nozik jihatlari bilan boshlaymiz, so'ngra ushbu kitobning qolgan qismida biz sizning funktsiya ko'nikmalaringizni yaxshilaymiz. Shunday ekan, keling, hoziroq asoslardan boshlaylik. ma'lumotlarni tartibga solish JavaScript faqat raqamlar, satrlar va mantiqiy qiymatlardan ko'proq narsani boshqarishi mumkin. Hozirgacha biz faqat primitivlar - oddiy satrlar, raqamlar va mantiqiy belgilar bilan ishladik (masalan, "Fido", 23 va true). Ibtidoiy turlar bilan siz juda ko'p ish qilishingiz mumkin, lekin bir nuqtada xarid qilish savatidagi barcha narsalarni, pleylistdagi barcha qo'shiqlarni, yulduzlar guruhini va ularning kattaliklarini yoki mahsulotlarning butun katalogini ko'rsatish uchun kengaytirilgan ma'lumotlar kerak bo'ladi. Bunday vazifalar jiddiyroq mablag'larni talab qiladi. Bunday bir hil ma'lumotlarni ko'rsatish uchun odatiy vosita JavaScript massividir. Ushbu bobda siz ma'lumotlarni massivga joylashtirish, uni uzatish va ular bilan ishlashni o'rganasiz. Keyingi boblarda ma’lumotlarni tuzishning boshqa usullari ko‘rib chiqiladi, lekin biz massivlardan boshlaymiz. Objectvillega sayohat uchrashish: ob'ektlar Hozirgacha biz primitivlar va massivlardan foydalanganmiz. Va u oddiy buyruqlar, shartlar, for / while tsikllari va funktsiyalari bilan protsessual dasturlash metodologiyasini qo'lladi. Ushbu yondashuv ob'ektga yo'naltirilgan dasturlash tamoyillaridan uzoq edi. Aslida, bu ob'ektga yo'naltirilgan dasturlash bilan umuman aloqasi yo'q edi. Biz vaqti-vaqti bilan ob'ektlardan foydalanganmiz (va siz bu haqda hatto bilmagan edingiz), lekin biz hali o'z ob'ektlarimizni yozmadik. Zerikarli protsessual shaharni tark etish va o'z ob'ektlaringizni yaratishni boshlash vaqti keldi. Ushbu bobda siz nima uchun ob'ektlar hayotimizni sezilarli darajada yaxshilashini bilib olasiz - hech bo'lmaganda dasturlash sohasida. Shuni bilib qo'ying: ob'ektlarga o'rganib qolganingizdan so'ng, orqaga qaytishni xohlamaysiz. Ha, va siz joylashayotganingizda otkritka yuborishni unutmang. DOM modeli veb-sahifa bilan ishlash Siz JavaScript-ni o'rganish yo'lidasiz. Darhaqiqat, siz skript dasturlash sohasida boshlang'ichdan ... dasturchiga aylandingiz. Biroq, nimadir etishmayapti: JavaScript ko'nikmalaringizdan to'liq foydalanish uchun siz qaysi veb-sahifa bilan o'zaro aloqada bo'lishingiz kerak. sizning kodingiz joylashgan. Shundan keyingina siz foydalanuvchi harakatlariga javob beradigan va yuklangandan keyin yangilanadigan dinamik sahifalarni yozishingiz mumkin bo'ladi. Sahifa bilan qanday aloqa qilish kerak? Document Object Model (DOM) orqali. Ushbu bobda sahifa imkoniyatlarini kengaytirish uchun DOM va JavaScript-dan ushbu model bilan ishlashning umumiy tamoyillarini ko'rib chiqamiz. Jiddiy turlari turlar, tenglik, konversiyalar va boshqalar Endi turlar haqida jiddiy gapirish vaqti keldi. JavaScript-ning ajoyib jihatlaridan biri shundaki, yangi boshlanuvchi til tafsilotlariga kirmasdan etarlicha uzoqqa borishi mumkin. Ammo tilni chinakam egallash, ko'tarilish va haqiqatan ham qilishga arziydigan ishni qilish uchun siz turlarni yaxshi bilishingiz kerak. JavaScript haqida aytganlarimizni eslaysizmi - unda ko'rib chiqilgan akademik ta'rifning hashamati yo'q edi? Ha, bu to'g'ri, lekin akademik poydevorning yo'qligi Stiv Jobs va Bill Geytsni to'xtata olmadi; u JavaScript-ga ham xalaqit bermadi. Bu shuni anglatadiki, JavaScript tipidagi tizim ... yaxshi, aytaylik, u eng murakkab emas va unda juda ko'p g'alatiliklar mavjud. Ammo tashvishlanmang, ushbu bobda biz uni parchalaymiz va tez orada siz xavfsiz tarzda o'rganasiz turlari bilan barcha bu zerikarli narsalarni aylanib chiqing. Ilovani yaratish Hamma birgalikda Ish uchun asboblar qutingizni tayyorlang. Ha, sizning asboblar qutingiz bu sizning yangi dasturlash ko'nikmalaringiz, DOM haqidagi bilimingiz va hatto HTML va CSS bo'yicha ba'zi bilimlaringizdir. Ushbu bobda biz birinchi to'liq veb-ilovani yaratish uchun barchasini birlashtiramiz. Bitta chiziqda joylashgan bitta kema bilan juda ibtidoiy o'yinlar. Ushbu bobda biz quramiz to'liq versiya: katta o'yin maydoni, bir nechta kemalar, to'g'ridan-to'g'ri veb-sahifada foydalanuvchi kiritish. Biz HTML belgilashda oʻyin sahifasining strukturasini yaratamiz, CSS yordamida vizual uslubni qoʻllaymiz va oʻyin harakatini aniqlash uchun JavaScript yozamiz. O'zingizni tayyorlang: bu bo'limda biz to'liq, jiddiy dasturlash bilan shug'ullanamiz va juda jiddiy kod yozamiz. Tadbirni boshqarish asinxron dasturlash Ushbu bobda siz tubdan ko'tarilishingiz kerak yangi daraja... Hozirgacha biz odatda yuqoridan pastgacha ishlaydigan kod yozdik. Albatta, u funktsiyalar, ob'ektlar va usullardan foydalangan, ammo ijro etish oldindan rejalashtirilgan yo'lni kuzatib bordi. Kitobning ikkinchi yarmida bunday yangiliklar haqida xabar berishimiz juda achinarli, ammo bu kod tuzilishi JavaScript uchun xos emas. Ko'pgina JavaScript kodlari voqealarni boshqarish uchun yozilgan. Qanday voqealar? Ha, har qanday. Foydalanuvchi sahifani bosadi, ma'lumotlar Internetdan keladi, brauzer taymerni ishga tushiradi, DOM o'zgaradi ... to'liq ro'yxat... Bundan tashqari, brauzerda voqealar doimo sodir bo'ladi, ular asosan e'tiborga olinmaydi. Ushbu bobda biz dasturlashga bo'lgan yondashuvimizni qayta ko'rib chiqamiz va nima uchun voqealarga javob beradigan kod yozishingiz kerakligini bilib olamiz. Cheksiz funktsiyalar birinchi darajali xususiyatlar Xususiyatlarni o'rganing va porlang. Har bir hunarmandchilik, san'at va intizomda o'rta darajadagi o'yinchilarni haqiqiy professionaldan ajratib turadigan asosiy tamoyil mavjud - va JavaScript haqida gap ketganda, funktsiyani yaxshi tushunish professionallikning o'ziga xos belgisidir. Funktsiyalar JavaScript-da asosiy rol o'ynaydi va kodni loyihalash va tartibga solishda qo'llaniladigan ko'plab usullar funktsiyalarni yaxshi bilish va ulardan foydalanish qobiliyatiga asoslanadi. Bu bo'yicha funktsiyalarni o'rganish usuli Daraja qiziqarli va qiyin, shuning uchun tayyor bo'ling ... Bu bob biroz Villi Vonkaning shokolad fabrikasiga sayohatga o'xshaydi - JavaScript funksiyalarini o'rganayotganingizda juda ko'p g'alati, aqldan ozgan va ajoyib narsalarni ko'rasiz. Jiddiy funktsiyalar anonim funktsiyalari, ko'lami va yopilishi Biz funktsiyalar haqida ko'p narsalarni o'rgandik, ammo bu hammasi emas. Ushbu bobda biz ko'proq davom etamiz va mutaxassislar odatda shug'ullanadigan mavzularni tushunamiz. Funktsiyalar bilan qanday qilib samarali ishlashni o'rganasiz. Bo'lim unchalik uzoq bo'lmaydi, lekin juda qizg'in bo'ladi, shuning uchun bo'lim oxiriga kelib JavaScript kodingizning ifodaliligi barcha kutganlardan ham oshib ketadi. Shuningdek, siz hamkasbingizning kodini olishga yoki ochiq kodli JavaScript kutubxonasini oʻrganishga tayyor boʻlasiz, chunki biz funksiyalardan foydalanish bilan bogʻliq boʻlgan baʼzi umumiy idiomalar va konventsiyalarni ham oʻrganamiz. Va agar siz hech qachon anonim funktsiyalar va yopilishlar haqida eshitmagan bo'lsangiz, bu tanishish uchun eng zo'r joy! Ob'ekt yaratish ahamiyatsiz ob'ekt yaratish Hozirgacha biz ob'ektlarni qo'lda yaratdik. Har bir ob'ekt uchun barcha xususiyatlarni istisnosiz o'rnatadigan ob'ekt literalidan foydalanilgan. Kichik dasturlar uchun bu qabul qilinadi, lekin uchun jiddiy kodga yaxshiroq narsa kerak bo'ladi, ya'ni ob'ekt konstruktorlari. Konstruktorlar ob'ektlarni yaratishni osonlashtiradi va siz bitta naqsh bo'yicha ob'ektlar yaratishingiz mumkin — boshqacha qilib aytganda, konstruktorlar bir xil xususiyatlarga ega va bir xil usullarni o'z ichiga olgan bir qator ob'ektlarni yaratishga imkon beradi. Konstruktorlar yordamida yozilgan kod ancha ixchamroq va ko'p sonli ob'ektlarni yaratishda xatolik xavfini kamaytiradi. Sizni ishontirib aytamizki, ushbu bobni o'rganganingizdan so'ng, siz butun ongli hayotingiz davomida bu ishni bajargandek, konstruktorlardan foydalanasiz. Kuchli ob'ektlar prototiplardan foydalanish Ob'ektlarni yaratishni o'rganish - bu faqat boshlanish. Mushaklaringizni kuchaytirish vaqti keldi - ob'ektlar orasidagi munosabatlarni aniqlash uchun ilg'or vositalarni o'rganing va kod almashishni tashkil qiling. Bundan tashqari, bizga mavjud ob'ektlarni kengaytirish mexanizmlari kerak bo'ladi. Boshqacha aytganda, bizga kerak ob'ektlar bilan ishlash uchun asboblar to'plamini kengaytiring. Ushbu bobda siz JavaScript-ning juda kuchli ob'yekt modeliga ega ekanligini ko'rasiz, lekin u an'anaviy ob'ektga yo'naltirilgan tillar modelidan biroz farq qiladi. Oddiy sinfga asoslangan ob'ektga yo'naltirilgan tizimlar o'rniga JavaScript prototip modelidan foydalanadi - boshqa ob'ektlarning xatti-harakatlarini meros qilib oladigan va kengaytira oladigan ob'ektlar. Sizga nima foyda? Tez orada bilib olasiz. Xo'sh, keling, boshlaylik ... Bepul fayl xotirasidan yuklab oling Havolalarga kirish uchun captcha ni hal qiling! Men har doim siz ishlayotgan sohada keng qamrovli bilim olishni xohlayman. JavaScript - bu tillardan biri bo'lib, u haqida to'liq ma'lumotga ega bo'lish deyarli mumkin emas. U ham xuddi umuman Internet kabi doimiy ravishda rivojlanib boradi, shuning uchun har qanday veb-ishlab chiquvchi ushbu rivojlanishdan ortda qolishga intilishi kerak va bundan tashqari u foydalanadigan texnologiya asoslarini yoddan bilishi kerak. JavaScript hozirda IT olamida hukmronlik qilmoqda. Uning yordamida siz kichik veb-ilova yaratishingiz yoki robotni dasturlashingiz mumkin. Yaxshiyamki, til uzoq vaqtdan beri mavjud va uni ustunlik bilan o'zlashtirgan ishlab chiquvchilar unda o'zlarining dasturlash tajribasini kitoblarda tasvirlab berishgan. Ushbu kitob sizga kompyuterlarni o'zingiz xohlagan narsaga qanday jalb qilish kerakligini aytadi. Kompyuterlar bugungi kunda tornavidalar kabi hamma joyda mavjud - lekin ular ancha yashirin murakkablikka ega va shuning uchun tushunish qiyinroq va ular bilan ishlash qiyinroq. Ko'pchilik uchun ular begona bo'lib qoladi, biroz tahdid soladigan narsalar. Kitob rus tilida ham mavjud. Ushbu kitob tilning o'rnatilgan ob'ektlari va nuanslarini tahlil qilish orqali JavaScript dunyosi haqida to'liq ma'lumot beradi. Bu kitob umuman dasturlash va xususan JavaScript-ni endigina boshlaganlar uchun mo'ljallanmagan. Ushbu kitob klassik va zamonaviy JavaScript dasturlash naqshlarini o'rganadi. Umuman olganda, u yangi boshlanuvchi dasturchilarga qaratilgan. HTML5 ajoyib. Xuddi jQuery kabi. Xuddi Node.JS kabi. Ularga biroz toza JavaScript qo'shing va siz Internetni osongina zabt etishingiz mumkin. Ushbu kitob JS yordamida veb-ilovalarni yaratishni rejalashtirganlar uchun mo'ljallangan. U tilning xususiyatlarini, foydali vositalarni, shablonlarni tavsiflaydi va ro'yxat bu bilan cheklanmaydi. Ushbu kitob sizga JavaScript haqida ko'p qirrali bilim, uning umumiy mantig'i va tafsilotlarini tushunish imkonini beradi. Muallif o'quvchi ob'ektga yo'naltirilgan dasturlash tamoyillari va PHP, Ruby, Python, C ++ yoki Java kabi ba'zi tillar bilan allaqachon tanish deb taxmin qiladi. Veb-kodlash amaliyotini bir qadam oldinga olib, HTML va CSS tartibidan to'liq dinamik sahifalarga o'tishga tayyormisiz? Unda “eng issiq” dasturlash tili – JavaScript bilan tanishish vaqti keldi! Ushbu kitobni o'qib chiqqandan so'ng, siz JavaScript haqida hamma narsani o'rganasiz, o'zgaruvchilardan tortib tsikllargacha. Nima uchun turli brauzerlar kodga boshqacha munosabatda bo'lishini va barcha brauzerlar tomonidan qo'llab-quvvatlanadigan universal kodni qanday yozishni tushunasiz. Siz nima uchun JS kelajak ekanligini tushunasiz va haqiqiy front-end dasturchisiga aylanasiz. Ushbu kitob sizga JS-da hech qanday uchinchi tomon ramkalari yoki kutubxonalaridan foydalanmasdan front-end ilovalarini qanday yozishni ko'rsatadi. JavaScript tamoyillari haqida umumiy ma'lumotga qo'shimcha ravishda, ushbu kitob sizga JSON yoki NoSQL kabi tegishli sohalar bo'yicha bilimlar beradi, shuningdek, veb-ilovalar qanday yozilishi haqida tushuncha beradi. Nomidan ko'rinib turibdiki, bu kitob bir sahifali ilovalarni ishlab chiqish haqida. U maxsus texnologiyalar va ramkalarni tasvirlamaydi, lekin umumiy naqsh va amaliyotlarni tasvirlashda yaxshi ish qiladi. Kitob DOM (Hujjat Ob'ekt Modeli) bilan ishlashga bag'ishlangan - ehtimol barcha veb-ishlab chiquvchilar uchun JavaScript-dagi eng muhimi. JSON va JSLint yaratuvchisi Duglas Krokford tomonidan yozilgan ushbu kitob JavaScript olamida klassik boʻlib, hamma oʻqishi kerak. U ob'ektga yo'naltirilgan yondashuv asoslarini qamrab oladi va yaxshi va yomon ko'plab misollarni beradi. Albatta, muallif bunday “zararli” misollarni qanday tuzatish va bunday xatolardan qochish kerakligini aytadi. Mashhur o'qituvchi Kayl Simpson tomonidan yozilgan ushbu turkum 6 ta kitobdan iborat bo'lib, ularning har biri tilning turli bo'limlarini qamrab oladi. Ushbu kitoblarning asosiy afzalligi shundaki, ular etarlicha qisqa bo'lib, sizni chalg'itishga vaqtingiz bo'lmaydi. Va ushbu seriyadagi "ES6 va Beyond" kitobini rus tilida qog'oz versiyasida sotib olish mumkin. JavaScript bu asosiy vosita veb-sahifalarni interaktiv, dinamik qilish va eng yuqori ko'rsatkichlarga erishish imkonini beruvchi veb-ishlab chiquvchilar. Bu yaxshi tuzilgan JavaScript qoʻllanmasi boʻlib, uni oʻrganish oson emas, lekin juda talabchan tilni tezda oʻrganishga imkon beradi. Kitobda jQuery kutubxonasiga katta e'tibor berilgan. Shuningdek, ko'plab misollar va batafsil topshiriqlar mavjud. Keng qamrovli qo'llanmani o'qib chiqib, siz: Veb-saytingiz sahifalarini interaktiv qiling. Ustoz oxirgi versiya jQuery plagini UI. Avtomatik ma'lumotlarni tekshirish va tuzatish bilan foydalanuvchilar uchun qulay shakllarni yarating. AJAX texnologiyasini qo'llang. Soha bo'yicha bilimingizni chuqurlashtiring va professional bo'ling. Joylashtirish asoslarini o'rganganingizdan so'ng, siz, albatta, ko'proq interaktivlik va go'zallikni, shuningdek, saytning backend bilan o'zaro ta'sirining yanada qulay usullarini xohlaysiz. Keyin JavaScript juda mashhur jQuery ramkasi bilan birga arenaga kiradi. Kitob bilan ishlashni boshlash uchun sizga chuqur bilim kerak emas - siz undan hamma narsani olasiz. U faqat brauzerlar o'rtasidagi moslik va sahifani optimallashtirish sohasidagi eng so'nggi amaliyotlarni namoyish etadi va taqdimot illyustratsion misollar va rasmlar bilan aniq tilda. Allaqachon klassikaga aylangan kitob. Uning so'nggi nashri HTML5 va ECMAScript 6 ni qamrab oladi, bu ikkalasi ham bugungi kunning eng issiq texnologiyalari. Shuningdek, u jQuery va server tomonidagi JavaScript-ga yangi boblarni qo'shadi. Ushbu qo'llanma yangi boshlanuvchilar uchun ham, JavaScript-dagi bilimlarini mukammallashtirishni xohlaydiganlar uchun ham foydalidir. Bosh birinchi seriyasidagi boshqa kitoblar haqida "Har birimizda yashiringan ichki erkin mutaxassis dasturchi uchun to'g'ri ohang. Amaliy rivojlanish strategiyalari bo'yicha ajoyib qo'llanma - mening miyam zerikarli, eskirgan akademik jargon bilan chalg'imasdan ishlaydi. - Travis Kalanick, Uber bosh direktori "Ajoyib ravshanlik, hazil va adolatli aql hatto dasturchi bo'lmagan odamni ham muammolarni hal qilishda ijobiy qarashga majbur qiladi." - Kori Doktoru, Boing Boingning ikkinchi muharriri, ilmiy fantastika yozuvchisi "Men bir vaqtning o'zida yarim tonna kitobni o'qiyotgandek his qilaman". - Uord Kanningem, Wiki ixtirochisi "Bu dasturlash bo'yicha men almashtirib bo'lmaydigan sanoqli kitoblardan biri (va men ushbu turkumdagi o'nta kitobni hisoblayman, ortiq emas)." - Devid Gelernter, Yel universiteti kompyuter fanlari professori "Men kuldim, yig'ladim, bu kitob meni hayajonga soldi". - Daniel Steinberg, java.net katta muharriri "Men Erik va Elizabethdan yaxshiroq ekskursiya gidlarini tasavvur qila olmayman." - Miko Matsumura, Hazelcast kompaniyasining marketing bo'yicha vitse-prezidenti, Sun Microsystems kompaniyasining sobiq Java rahbari “Men bu kitobga tom ma'noda oshiqman. Men hatto xotinimning oldida uni o'pdim ». - Satish Kumar "Vizual yondashuv va ketma-ket taqdimot - Eng yaxshi yo'l bu narsalarni o'rganish ... "- Denni Gudman, Dynamic HTML: The Definitive Guide muallifi" Texnik jargonga to'la ko'plab noaniq dasturlash kitoblaridan farqli o'laroq, Head First jQuery seriyasi yangi boshlanuvchilarga birinchi jQuery sahifalarini oson va tushunarli tarzda yaratishga yordam beradi. ". - Lindsi Skouras, huquqshunos va o'zini o'zi o'rgatgan dasturchi Boshqa bosh kitoblar haqida "Erik va Elizabeth o'z narsalarini bilishlari aniq. Internet texnologiyalari tobora takomillashib bormoqda va ijodiy veb-sahifa yaratish tobora muhim ahamiyat kasb etmoqda. Nafis arxitektura har bir bobda markaziy oʻrin tutadi, har bir tushuncha teng miqdorda pragmatizm va aql bilan bogʻlanadi. - Ken Goldstein, Shop.com ning sobiq direktori va "Bu g'azab: Silikon romani" muallifi Vodiy va boshqa jinnilik “HTML, XHTML va CSS-ni o'rganing - bu veb-layout va taqdimot amaliyotlari uchun puxta ishlab chiqilgan, zamonaviy qo'llanma. Mualliflar qaysi fikrlar o'quvchini chalkashtirib yuborishi mumkinligini taxmin qiladilar va ularni o'z vaqtida tushuntiradilar. Ko'plab tasviriy misollar va taqdimot ketma-ketligiga asoslangan yondashuv o'quvchi uchun maqbuldir: u kichik o'zgarishlar kiritadi va brauzerda yakuniy effektni kuzatadi, bu sizga har bir yangi narsaning maqsadini tushunishga imkon beradi. element." - Denni Gudman, Dynamic HTML muallifi: Aniq qo'llanma “HTML, XHTML va CSS-ni boshidan o'rganish o'quvchiga butun o'quv jarayoni sodda va qiziqarli bo'lishini his qiladi. To'g'ri tushuntirilganda HTMLni o'zlashtirish ona tilingiz asoslarini o'rganishdan qiyinroq emas va mualliflar har bir kontseptsiya uchun illyustrativ misollar keltirish bo'yicha ajoyib ishni bajarishgan. - Mayk Devidson, Newsvine, Inc prezidenti va bosh direktori. “Anʼanaviy darslik uslubida yozish oʻrniga, iPhone va iPad uchun dasturlash oʻquvchiga iOS dasturlash uchun jonli, qiziqarli va hatto zavqli oʻrganish imkoniyatini taqdim etadi. Material mohirona va samarali tanlangan: kitob ko'plab asosiy texnologiyalarni, jumladan, asosiy ma'lumotlarni va hatto interfeys dizayni kabi muhim jihatlarni qamrab oladi. UIWebView va UITextField kamin yonida qanday gaplashayotganini yana qayerda o'qishingiz mumkin? - Shon Merfi, iOS ilovalari dizayneri va dasturchisi “IPhone va iPad uchun dasturlash kitobi dizayn tamoyillarini tushuntiradi. iOS ilovalari boshidan boshlab. Birinchi nashrdan beri asosiy o'zgarishlar iOS 4, Xcode 4 va iPad ilovalarini yozish bilan bog'liq. Materialni taqdim etishning vizual uslubiga ega bosqichma-bosqich tavsiflari bilan ushbu kitob iPhone va iPad uchun dasturlashni eng oddiyidan tortib to oddiygacha bo'lgan barcha jihatlarda o'rganish uchun ajoyib vositaga aylanadi. - Rich Rosen, dasturchi va Unix Geeks LBC uchun Mac OS X kitobining hammuallifi 32.988-02-018.1 UDC 004.43 F88 F88 E. Freeman, E. Robson JavaScript dasturlashni o'rganish. - SPb .: Piter, 2015 .-- 640 b .: kasal. - ("Head First O'Reilly" seriyasi). ISBN 978-5-496-01257-7 Siz veb-dasturlashda oldinga qadam tashlashga va HTML va CSS tartibidan to'liq huquqli dinamik sahifalar yaratishga o'tishga tayyormisiz? Unda “eng issiq” dasturlash tili – JavaScript bilan tanishish vaqti keldi! Ushbu kitob yordamida siz JavaScript haqida hamma narsani o'rganasiz, o'zgaruvchilardan tortib tsikllargacha. Nima uchun turli brauzerlar kodga boshqacha munosabatda bo'lishini va barcha brauzerlar tomonidan qo'llab-quvvatlanadigan universal kodni qanday yozishni tushunasiz. Nima uchun sahifa tiqilib qolishi va JavaScript kodi bilan maʼlumotlarni uzatish xatolari haqida qaygʻurmasligingiz aniq boʻladi. Oldin bir qator kod yozmagan bo‘lsangiz ham xavotirlanmang – noyob taqdimot formati tufayli bu kitob sizni o‘rganishning barcha yo‘li bo‘ylab osonlikcha yo‘naltiradi: oddiy skript yozishdan tortib, murakkab veb-loyihalarni yaratishgacha. barcha zamonaviy brauzerlarda ishlaydi. Ushbu nashrning o'ziga xos xususiyati materialni taqdim etishning o'ziga xos usuli bo'lib, O'Reilly Head First seriyasini dasturlashga bag'ishlangan ko'plab zerikarli kitoblardan ajratib turadi. 12+ (2010 yil 29 dekabrdagi 436-FZ-sonli Federal qonuniga muvofiq.) BBK 32.988-02-018.1 UDC 004.43 Nashr qilish huquqi O'Reilly bilan kelishuv asosida olingan. Barcha huquqlar himoyalangan. Ushbu kitobning hech bir qismi mualliflik huquqi egalarining yozma ruxsatisiz har qanday shaklda takrorlanishi mumkin emas. ISBN 978-1449340131 Ingliz tili. ISBN 978-5-496-01257-7 © Head First JavaScript Programming, 1-nashr (ISBN 9781449340131) inglizcha nashrining rus tiliga avtorizatsiya qilingan tarjimasi © 2014 Erik Friman, Elizabet Robson. Ushbu tarjima O'Reilly Media, Inc. ruxsati bilan nashr etilgan va sotilgan, u xuddi o'sha Peterni nashr etish va sotish bo'yicha barcha huquqlarga egalik qiladi yoki nazorat qiladi, 2015 JavaScript-ga bag'ishlangan - siz baxtli oilada tug'ilmagansiz, lekin siz undan oshib ketdingiz. brauzerlarda siz bilan raqobatlashishga harakat qilgan barcha tillar. Elizabeth Robson tomonidan kitob mualliflari Erik Freem Erik, Head First seriyasini yaratuvchilardan biri ta'biri bilan aytganda, "turli sohalarning tili, amaliyoti va madaniyatini yaxshi biladigan noyob shaxslardan biri - texno hipster, vitse-prezident, muhandis, tahlilchi." Erik qariyb o'n yilni The Walt Disney kompaniyasida Disney Online va Disney.com bosh direktori lavozimida ishlagan. Erik endi vaqtini Elizabeth bilan hamkorlikda tashkil etgan yosh kompaniya WickedlySmartga beryapti. Erik, Yel universitetida Devid Gelernter bilan birga tadqiqot olib borgan kompyuter olimi. Uning dissertatsiyasi ish stoli metaforasini amalga oshiradigan interfeyslar sohasidagi fundamental ish, shuningdek, Gelernter bilan ishlab chiqilgan kontseptsiyani faoliyat oqimlarining birinchi amalga oshirishi edi. Bo'sh vaqtida Erik musiqa bilan jiddiy shug'ullanadi; Erikning Stiv Rouch bilan hamkorlikda yaratilgan Immersion Station loyihasini quyidagi manzilda topishingiz mumkin iPhone ilovasi Do'kon. Erik rafiqasi va qizi bilan Beynbrij orolida yashaydi. Uning qizi tez-tez Erikning musiqa studiyasiga sintezatorlar va audio effektlar generatorlari bilan o'ynash uchun tushadi. Erikga elektron pochta xabari yuboring eric@wickedlysmart.com yoki uning veb-saytiga tashrif buyuring http://ericfreeman.com. 8 Elizabet dasturchi, yozuvchi va oʻqituvchi. U kompyuter texnologiyalari bo‘yicha magistrlik darajasini olgan Yel universitetida o‘qiganidan beri o‘z ishini sevib qolgan. Elizabet uzoq vaqtdan beri Internet bilan shug'ullanadi; u ayollarga kompyuterda ishlash va ta'lim haqida ma'lumot topishga yordam beradigan birinchi saytlardan biri bo'lgan mashhur Ada loyihasini yaratishga yordam berdi. U WickedlySmart internet-ta'lim kompaniyasiga asos solgan. Bu yerda u kitoblar, maqolalar, video kurslar va boshqalarni yaratadi.O'Reilly maxsus loyihalar direktori sifatida Elizabet seminarlar va masofaviy ta'lim kurslarini ishlab chiqdi. Uning odamlarga yangi texnologiyalarni tushunishga yordam berish uchun o'quv kurslarini yaratishga bo'lgan ishtiyoqi shu tarzda namoyon bo'ldi. O'Reillyga qo'shilishdan oldin Elizabeth The Walt Disney Company'da ishlagan va u erda raqamli media texnologiyasi bo'yicha tadqiqot va ishlanmalarga rahbarlik qilgan. Elizabet kompyuterdan uzoqda bo'lganida, u piyoda sayohat qiladi, velosipedda va eshkak eshishda yoki vegetarian taomlarini tayyorlaydi. Siz Elizabethga yozishingiz mumkin beth@ wickedlysmart.com yoki uning blogiga tashrif buyuring http://elisabethrobson.com. Mundarija (xulosa) 1 2 3 4 5 6 7 8 9 10 11 12 13 Kirish JavaScript bilan birinchi tanishish. Notanish suvlarda Haqiqiy kod. Keyingi qadam Funksiyalar bilan tanishish. Hamma uchun funksiyalar Ma'lumotlarga tartib qo'yish. Massivlar obyektlar bilan uchrashadi. Objectville-ga sayohat Veb-sahifa bilan o'zaro ishlash. DOM turlari, tenglik, konversiyalar va boshqalar. Jiddiy turlari Hammasi birga. Ilova yaratish Asinxron dasturlash. Hodisalarni boshqarish Birinchi darajali xususiyatlar. Cheksiz funksiyalar Anonim funksiyalar, qamrov va yopilishlar. Jiddiy funktsiyalar Nontrivial ob'ektni yaratish. Prototiplar yordamida ob'ektlarni yaratish. Kuchli ob'ektlar 25 37 79 113 157 203 257 291 341 403 449 495 539 579 Mundarija (hozirgi) Kirish Sizning miyangiz va JavaScript. Siz o'qiysiz - imtihonga tayyorlanasiz. Yoki siz qiyin texnik mavzuni o'zlashtirishga harakat qilyapsiz. Sizning miyangiz sizga yaxshilik qilishga harakat qilmoqda. U qimmatli resurslar bu ahamiyatsiz bo'lib ko'ringan ma'lumotlarga sarflanmasligiga ishonch hosil qilishga harakat qiladi. Ularni muhim narsaga sarflash yaxshiroqdir. Xo'sh, qanday qilib uni JavaScript-ni o'rganishga undash mumkin? Bu kitob kim uchun yozilgan Biz siz nima deb o'ylayotganingizni bilamiz Bu kitob metatanish: fikrlash fanini o'rganmoqchi bo'lganlar uchun 24 25 26 27 Biz nima qildik: miyangizni bo'ysundirish uchun siz nima qila olasiz Ilm-fan muharrirlarining e'tirofi 28 29 30 33 34 9 Mundarija 1 JavaScript notanish suvlarda ajoyib imkoniyatlarni ochadi. World Wide Webning asosiy dasturlash tili bo'lgan JavaScript veb-sahifalarda kengaytirilgan xatti-harakatlarni aniqlash imkonini beradi. Faqat ekran maydonini egallaydigan quruq, zerikarli, statik sahifalarni unuting - JavaScript yordamida siz foydalanuvchilar bilan muloqot qilasiz, voqealarga munosabat bildirasiz, Internetdan ma'lumotlarni olasiz va foydalanasiz, grafiklarni ko'rsatasiz ... va yana ko'p narsalar. JavaScript-ni yaxshi bilgan holda, siz hatto sahifalaringizda mutlaqo yangi xatti-harakatlarni dasturlashingiz mumkin. Va ikkilanmang - sizning bilimingiz talabga ega bo'ladi. JavaScript endi nafaqat eng mashhur dasturlash tillaridan biri, balki barcha zamonaviy (va ko'plab zamonaviy bo'lmagan) brauzerlar tomonidan qo'llab-quvvatlanadi; bundan tashqari, brauzerlardan alohida mavjud bo'lgan o'rnatilgan JavaScript ilovalari mavjud. Gap yetarli, lekin. Ishga kirishish vaqti keldi! CSS HTML JS brauzeri 10 Javascript bilan ishlashni boshlash JavaScript qanday ishlaydi 38 JavaScript kodi qanday yoziladi 39 JavaScript-ni Page 40 JavaScript-ga qanday qo'shish kerak 40 JavaScript, siz uzoq yo'lni bosib o'tdingiz, bolam. .. 42 Buyruqlar qanday yaratilgan 46 o'zgaruvchi va qiymatlar 47 Diqqat kalit so'zlar! 48 Ifodalar bilan ehtiyot bo'ling! 51 Operatsiyalarni qayta-qayta bajarish 53 Vaqtinchalik sikl qanday ishlaydi 54 JavaScript-da qarorlar qabul qilish 58 Va qabul qilinishi kerak bo‘lgan qarorlar KO‘P bo‘lganda... 59 Foydalanuvchini o‘zaro aloqaga jalb qilish Page 61 Console.log bilan tanishish 63 Qanday ochish kerak Konsol 64 JavaScript-da jiddiy dastur yozish 65 Sahifaga kodni qanday qo'shish mumkin? (yo'llarni sanash) 68 Belgilash va kod: yo'llar ajralib chiqadi 69 Mundarija 2 haqiqiy kod Keyingi qadam O'zgaruvchilar, turlar, ifodalar nima ekanligini allaqachon bilasiz ... va hokazo. Siz allaqachon JavaScript haqida bir-ikki narsani bilasiz. Bundan tashqari, kimdir foydalanadigan qiziqarli narsalarni qiladigan haqiqiy dasturlarni yozishni boshlash uchun bilim etarli. To‘g‘ri, sizda kodlash bo‘yicha amaliy tajriba yetarli emas va biz bu muammoni hozirdanoq hal qilishni boshlaymiz. Qanaqasiga? Keling, JavaScript-da to'liq amalga oshirilgan oddiy o'yin yozishni boshlaylik. Vazifa keng ko'lamli, lekin biz maqsad sari bosqichma-bosqich, bosqichma-bosqich harakat qilamiz. Shunday qilib, keling, biznesga o'taylik va agar siz to'satdan loyihalaringizda bizning ishlanmalarimizdan foydalanmoqchi bo'lsangiz, biz qarshi emasmiz, kodni o'zingiz xohlagan tarzda yo'q qiling. Tayyorgarlik Foydalanuvchidan ma'lumotlarni qabul qilish miss Natijani tekshirish Kemaga urilgan bo'ldi Mark: kema cho'kib ketdi Hisob / ballni ko'rsatish Mark: o'yin ustida o'yin "Jang" o'yinini amalga oshiramiz 80 Birinchi yugurish ... 80 Dizayndan boshlaylik 81 Psevdokodni tahlil qiling 83 To'xtating! Oldinga borishdan oldin HTMLni eslab qoling! 85 “Dengiz jangi”ning soddalashtirilgan versiyasi kodini yozish 86 Mantiqni amalga oshirishga o‘tish 87 Tezkor funksiya qanday ishlaydi 89 Xitni tekshirish 90 Xitni tekshirish kodini qo‘shish 93 O‘yindan keyin ma’lumotlarni chiqarish 94 Mantiqni amalga oshirish tayyor! 96 Sifat nazorati haqida bir oz 97 Qisqaroq bo'lishi mumkin emasmi ... 101 Soddalashtirilgan jangovar kema deyarli tayyor 102 Tasodifiy pozitsiyani qanday olish mumkin 103 Tasodifiy raqamlarni yaratish uchun dunyoga mashhur retsept 103 Sifat nazoratiga qaytish 105 Tabriklaymiz, siz yaratdingiz. birinchi JavaScript dasturingiz! Endi kodni qayta ishlatish haqida bir necha so'z 107 11 Mundarija 3 12 funksiyalar bilan tanishish Hamma uchun funksiyalar Ushbu bobda siz birinchi super kuchingizni o'zlashtirasiz. Siz allaqachon dasturlash haqida bir-ikki narsani bilasiz; keyingi B bosqichiga o'tish va funktsiyalarni o'zlashtirish vaqti keldi. Funktsiyalar turli vaziyatlarda qayta ishlatilishi mumkin bo'lgan kod yozish imkonini beradi; saqlash ancha oson bo'lgan kod; Mavhumlashtirishingiz va oddiy nom berishingiz mumkin bo'lgan kod, shunda siz muntazam tafsilotlarni unutib, haqiqatan ham muhim narsalarni qilishingiz mumkin. Funktsiyalar nafaqat dasturlash mahorati uchun eshikni ochibgina qolmay, balki JavaScript dasturlash uslubida ham muhim rol o'ynashini ko'rasiz. Ushbu bobda biz asosiy tushunchalar, mexanika va funksiyalar qanday ishlashining barcha nozik jihatlari bilan boshlaymiz, so'ngra ushbu kitobning qolgan qismida biz sizning funktsiya ko'nikmalaringizni yaxshilaymiz. Shunday ekan, keling, hoziroq asoslardan boshlaylik. Xo'sh, bu kod bilan nima noto'g'ri? 115 Aytgancha, siz hech qachon FUNKSIYALAR haqida eshitganmisiz? 117 Yaxshi, lekin hammasi qanday ishlaydi? 118 Funksiyaga nimani o‘tkazish mumkin? 123 JavaScript-dan o‘tish qiymatidan foydalanish 126 Funksiyalar bilan tajriba o‘tkazish 128 Funktsiyalar qiymatlarni ham qaytarishi mumkin 129 Qaytish bilan funksiya bo‘ylab o‘tish 130 Global va mahalliy o‘zgaruvchilar 133 Mahalliy va global o‘zgaruvchilar doirasi 135 O‘zgaruvchilarning qisqa muddati 136 E’lon qilishni unutmang mahalliy o'zgaruvchilar! 137 Mundarija 4 ma'lumotlarni tartiblash Massivlar 0 60 50 1 2 50 52 3 60 54 4 5 58 6 7 54 8 54 9 58 JavaScript nafaqat raqamlar, satrlar va mantiqiy qiymatlar bilan ishlashi mumkin. Hozirgacha biz faqat primitivlar - oddiy satrlar, raqamlar va mantiqiy belgilar bilan ishladik (masalan, "Fido", 23 va true). Ibtidoiy turlar bilan siz juda ko'p ish qilishingiz mumkin, lekin bir nuqtada xarid qilish savatidagi barcha narsalarni, pleylistdagi barcha qo'shiqlarni, yulduzlar guruhini va ularning kattaliklarini yoki mahsulotlarning butun katalogini ko'rsatish uchun kengaytirilgan ma'lumotlar kerak bo'ladi. Bunday vazifalar jiddiyroq mablag'larni talab qiladi. Bunday bir hil ma'lumotlarni ko'rsatish uchun odatiy vosita JavaScript massividir. Ushbu bobda siz ma'lumotlarni massivga joylashtirish, uni uzatish va ular bilan ishlashni o'rganasiz. Keyingi boblarda ma’lumotlarni tuzishning boshqa usullari ko‘rib chiqiladi, lekin biz massivlardan boshlaymiz. Bizga yordam bera olasizmi? 158 JavaScript-da qiymatlar to‘plamini qanday aks ettirish mumkin 159 Massivlar qanday ishlaydi 160 Massivda nechta element bor? 162 Chiroyli iboralar yaratuvchisi 164 Shu bilan birga, Bubbles-R-Us da ... 167 Massiv elementlarini qanday takrorlash mumkin 170 Lekin kuting, yana ko‘p narsalar bor qulay usul shafqatsiz kuch! 172 Nima, yana?.. Qisqaroq bo'lmaydimi? 178 Postfiks oshirish operatori yordamida for siklini aniqlashtirish 179 Bo‘sh massiv yaratish (va elementlarni qo‘shish) 183 Mana bizning g‘oliblarimiz... 187 Kod haqida qisqacha ma’lumot... 189 printAndGetHighScore funksiyasi ustida ishlash 190 PrintAndGetHighScore funksiyasi yordamida kodni qayta ishlash. Hammasini jamlagan holda ... 193 13 Mundarija 5 14 Ob'ektlar bilan tanishish Objectvillega sayohat Hozirgacha biz primitivlar va massivlardan foydalanganmiz. Va shu bilan birga, protsessual dasturlash metodologiyasi oddiy buyruqlar, shartlar, for / while tsikllari va funktsiyalari bilan qo'llanildi. Ushbu yondashuv ob'ektga yo'naltirilgan dasturlash tamoyillaridan uzoq edi. Aslida, bu ob'ektga yo'naltirilgan dasturlash bilan umuman aloqasi yo'q edi. Biz vaqti-vaqti bilan ob'ektlardan foydalanganmiz (va siz bu haqda hatto bilmagan edingiz), lekin biz hali o'z ob'ektlarimizni yozmadik. Zerikarli protsessual shaharni tark etish va o'z ob'ektlaringizni yaratishni boshlash vaqti keldi. Ushbu bobda siz nima uchun ob'ektlar hayotimizni sezilarli darajada yaxshilashini bilib olasiz - hech bo'lmaganda dasturlash sohasida. Shuni bilib qo'ying: ob'ektlarga o'rganib qolganingizdan so'ng, orqaga qaytishni xohlamaysiz. Ha, va siz joylashayotganingizda otkritka yuborishni unutmang. Kimdir "ob'ektlar" dedi ?! 204 Xususiyatlar haqida ko'proq ... 205 Ob'ekt qanday yaratiladi 207 "Ob'ektga yo'naltirilgan yondashuv" nima? 210 Xususiyatlar qanday ishlaydi 211 O‘zgaruvchida obyekt qanday saqlanadi? Qiziquvchan aqllarni ... 216 Primitivlarni ob'ektlar bilan solishtirish 217 Ob'ektlar ko'proq narsani qila oladi ... 218 Dastlabki tekshirish 219 Bosqichma-bosqich tekshirish 220 Ob'ektlarni funktsiyalarga o'tkazish haqida bir oz ko'proq gaplashamiz 222 O'zingizni tuting! Va ob'ektlaringizni o'rgating ... 228 Drayv usulini takomillashtirish 229 Nima uchun haydovchi usuli boshlangan xususiyat haqida bilmaydi? 232 Bu qanday ishlaydi 234 Xulq-atvor davlatga qanday ta'sir qiladi 240 Davlat xulq-atvorga qanday ta'sir qiladi 241 Birinchi ob'ektlar bilan tabriklaymiz! 243 Tasavvur qiling, siz qattiq jismlar bilan o'ralgansiz! (va ular sizning ishingizni osonlashtiradi) 244 Mundarija 6 veb-sahifa bilan ishlash DOM Siz JavaScript-ni o'rganish yo'lidasiz. Darhaqiqat, siz skript dasturlash sohasida boshlang'ichdan ... dasturchiga o'tdingiz. Biroq, biror narsa etishmayapti: JavaScript ko'nikmalaringizdan to'liq foydalanish uchun siz o'z kodingizni o'z ichiga olgan veb-sahifa bilan o'zaro aloqada bo'lishingiz kerak. Shundan keyingina siz foydalanuvchi harakatlariga javob beradigan va yuklangandan keyin yangilanadigan dinamik sahifalarni yozishingiz mumkin bo'ladi. Sahifa bilan qanday aloqa qilish kerak? Document Object Model (DOM) orqali. Ushbu bobda sahifa imkoniyatlarini kengaytirish uchun DOM va JavaScript-dan ushbu model bilan ishlashning umumiy tamoyillarini ko'rib chiqamiz. Salom, men brauzerman. Men sahifani o'qiyapman va DOMda uning ko'rinishini yaratyapman. Oldingi bobda biz sizga “kodni buzish” boshqotirmasini taqdim etgan edik.258 Bu kod nima qiladi? 259 JavaScript aslida bilan qanday oʻzaro taʼsir qiladi 261-sahifa DOMni qanday tayyorlash mumkin 262 DOM: Birinchi taassurotlar 263 getElementById bilan element olish 268 DOMdan aniq nimani olamiz? 269 Ichki HTML 270-ni qidirishda DOM 272-ga o'zgartirish kiritganingizda nima bo'ladi Va sahifa yuklanmasidan oldin mening kodimni bajarishga urinmang! 277 “Voqeani qayta ishlash” yoki “Qayta qo‘ng‘iroq qilish funksiyasi” 278 setAttribute usuli yordamida atributni o‘rnatish 283 Atribut qiziqarli davom etadi! (atribut qiymatlarini READ bo'lishi mumkin) 284 Va unutmangki, getElementById ham nullni qaytarishi mumkin! 284 Har safar qiymat so'raganingizda, so'ragan narsangizni olishingizga ishonch hosil qiling ... 284 DOM bilan yana nima qila olasiz? 286 hujjat html bosh tanasi p id = ”greenplanet” p id = “redplanet” p id = “blueplanet” Hammasi yaxshi Xabar berish uchun hech narsa yo'q Barcha tizimlar A-OK 15 Mundarija 7 16 tur, tenglik, konvertatsiya va shularning barchasi Jiddiy turlar Turlar bilan jiddiy shug‘ullanish vaqti keldi.JavaScript-ning ajoyib jihatlaridan biri shundaki, yangi boshlovchi til tafsilotlariga kirmasdan ham yetarlicha uzoqqa erisha oladi. Ammo tilni chinakam egallash, ko'tarilish va haqiqatan ham qilishga arziydigan ishni qilish uchun siz turlarni yaxshi bilishingiz kerak. JavaScript haqida aytganlarimizni eslaysizmi - unda ko'rib chiqilgan akademik ta'rifning hashamati yo'q edi? Ha, bu to'g'ri, lekin akademik poydevorning yo'qligi Stiv Jobs va Bill Geytsni to'xtata olmadi; u JavaScript-ga ham xalaqit bermadi. Bu shuni anglatadiki, JavaScript tipidagi tizim ... yaxshi, aytaylik, u eng murakkab emas va unda juda ko'p g'alatiliklar mavjud. Xavotir olmang, biz buni ushbu bobda ajratamiz va tez orada barcha bu noxush daqiqalarni turlar bilan qanday qilib xavfsiz chetlab o'tishni bilib olasiz. Haqiqat yaqin joyda ... 292 Ehtiyot bo'ling: aniqlanmagan ba'zan ko'kdan paydo bo'ladi ... 294 Null dan qanday foydalanish kerak 297 NaN bilan ishlash 299 Va keyin bu yanada hayratlanarli 299 Biz sizga tan olishimiz kerak ... 301 Tenglik operator (shuningdek, = = deb nomlanadi) 302 Operandlar qanday o'zgartiriladi (hamma narsa tuyulishi mumkin bo'lgan darajada qo'rqinchli emas) 303 Qattiq tenglikni qanday tekshirish mumkin 306 Yana ko'proq turdagi konvertatsiyalar. .. 312 Ikki obyektning tengligini qanday tekshirish mumkin 315 Pseudo-haqiqat yaqin joyda... 317 JavaScript "pseudo-yolg" deb hisoblagan narsa 318 Satrlarning maxfiy hayoti 320 Satr ibtidoiy yoki ob'ektga o'xshab ko'rinishi mumkin 321 Umumiy ko'rinish strings usullari (va xossalari) 323 Kafedra uchun jang 327 Mundarija 8 Hammasini birlashtirish Ilovani yaratish Asboblar qutingizni ishga tayyorlang. Ha, sizning asboblar qutingiz bu sizning yangi dasturlash ko'nikmalaringiz, DOM haqidagi bilimingiz va hatto HTML va CSS bo'yicha ba'zi bilimlaringizdir. Ushbu bobda biz birinchi to'liq veb-ilovani yaratish uchun barchasini birlashtiramiz. Bitta chiziqda joylashgan bitta kema bilan juda ibtidoiy o'yinlar. Ushbu bobda biz to'liq versiyani yaratamiz: katta o'yin maydoni, bir nechta kemalar, foydalanuvchining to'g'ridan-to'g'ri veb-sahifaga kiritishi. Biz HTML belgilashda oʻyin sahifasining strukturasini yaratamiz, CSS yordamida vizual uslubni qoʻllaymiz va oʻyin harakatini aniqlash uchun JavaScript yozamiz. O'zingizni tayyorlang: bu bo'limda biz to'liq, jiddiy dasturlash bilan shug'ullanamiz va juda jiddiy kod yozamiz. Bu safar biz REAL Sea Battle o'yinini quramiz 342 HTML va CSS 343 yaratishga qaytish. HTML sahifalar : Katta rasm 344 Styling 348 Hit va Miss sinflardan foydalanish 351 O'yinni qanday loyihalash 353 Ko'rinishni amalga oshirish 355 displayMessage usuli qanday ishlaydi 355 DisplayHit va DisplayMiss usullari qanday ishlaydi 357 Model 360 Biz kema ma'lumotlarini qanday ifodalaymiz6 Model ob'ekti 365 Yong'in usulini tayyorlash 366 Nazoratchini amalga oshirish 373 E zarbani qayta ishlash 374 F Kodni rejalashtirish ... 375 BCD kema 1 A kema 2 kema 3 G 0 1 2 3 4 HIT 5 6 parseGuess usulini amalga oshirish 376 tortishish va hisoblash 379 Hodisalarni qayta ishlash moslamasini Yong‘in tugmasiga qanday ulash mumkin 383 Ma’lumotlarni uzatish boshqaruvchisi 384 Kemalarni qanday joylashtirish 388 GenereShip usuli 389 Yangi kemaning boshlang‘ich pozitsiyasini yaratish 390 GenerationShip usulini yakunlash 391 17 Mundarija 9 18 Hodisalarni asinxron dasturlash bu bobda sizni butunlay yangi darajaga olib chiqasiz. Hozirgacha biz odatda yuqoridan pastgacha ishlaydigan kod yozdik. Albatta, u funktsiyalar, ob'ektlar va usullardan foydalangan, ammo ijro etish oldindan rejalashtirilgan yo'lni kuzatib bordi. Kitobning ikkinchi yarmida bunday yangiliklar haqida xabar berishimiz juda achinarli, ammo bu kod tuzilishi JavaScript uchun xos emas. Ko'pgina JavaScript kodlari voqealarni boshqarish uchun yozilgan. Qanday voqealar? Ha, har qanday. Foydalanuvchi sahifani bosadi, ma'lumotlar internetdan keladi, brauzerda taymer o'chadi, DOM o'zgaradi ... Bu to'liq ro'yxat emas. Bundan tashqari, brauzerda voqealar doimo sodir bo'ladi, ular asosan e'tiborga olinmaydi. Ushbu bobda biz dasturlashga bo'lgan yondashuvimizni qayta ko'rib chiqamiz va nima uchun voqealarga javob beradigan kod yozishingiz kerakligini bilib olamiz. "Hodisa" nima? 405 "Hodisa ishlov beruvchisi" nima? 406 Hodisalarni birinchi ishlov beruvchi qanday yaratiladi 407 Test diski 408 Hodisalarni qanday tushunish mumkin? O'yin yozing, albatta! 410 O‘yinni amalga oshirish 411 Test drayv 412 Bir nechta rasm qo‘shish 416 Endi siz barcha tasvirlarning barcha onclick xususiyatlariga bitta ishlov beruvchini belgilashingiz kerak 417 Barcha tasvirlar uchun bitta ishlov beruvchini qanday ishlatish kerak 418 Hodisa obyekti qanday ishlaydi 421 Hodisa obyekti bilan ishlash 423 Test drayveri : voqea obyekti va manbasi 424 Navbatlar va hodisalar 426 Boshqa hodisalar 429 setTimeout qanday ishlaydi 430 Oʻyin kodi tugallanishi 434 Taymer sinov drayvlari 435 Mundarija 10 Birinchi darajali xususiyatlar Cheksiz xususiyatlar Xususiyatlarni oʻrganing va yorqinroq boʻling. Har bir hunarmandchilik, san'at va intizomda o'rta darajadagi o'yinchilarni haqiqiy professionaldan ajratib turadigan asosiy tamoyil mavjud - va JavaScript haqida gap ketganda, funktsiyani yaxshi tushunish professionallikning o'ziga xos belgisidir. Funktsiyalar JavaScript-da asosiy rol o'ynaydi va kodni loyihalash va tartibga solishda qo'llaniladigan ko'plab usullar funktsiyalarni yaxshi bilish va ulardan foydalanish qobiliyatiga asoslanadi. Bu darajadagi funktsiyalarni o'rganish yo'li qiziqarli va qiyin, shuning uchun tayyor bo'ling ... Bu bob biroz Villi Vonkaning shokolad fabrikasiga sayohatga o'xshaydi - JavaScript funktsiyalarini o'rganganingizda, siz juda ko'p g'alati, aqldan ozgan narsalarni ko'rasiz, va ajoyib narsalar. Ikki tomonlama hayot kalit so'z funktsiya 450 Funktsiya e'lonlari va funksiya ifodalari 451 Funktsiya deklaratsiyasini tahlil qilish 452 Keyingi nima? Brauzer 453 kodini bajaradi Oldinga harakatlanish ... Vaziyatni tekshirish 454 Va nihoyat ... 455 Qiymat sifatida funktsiyalar 459 To'liq fuqarolar sifatida JavaScript 462 Birinchi toifadagi reyslar 463 Yo'lovchilarni qayta ishlash va tekshirish uchun kod yozish 464 Yo'lovchilarni sanash 466 O'tkazish funktsiyani boshqa funktsiyaga o'tkazish 467 Test-drayv ... yoki to'g'rirog'i, parvoz 467 Funktsiyalardan qaytish funksiyalari 470 Ichimliklar buyurtma kodi 471 Ichimlik buyurtma kodi: boshqacha yondashuv 472 Kutib turing, bitta ichimlik etarli emas! 473 Premium funksiyadan foydalangan holda ichimliklar buyurtma qilish 474 Parvoz test drayveri 475 Web Cola 477 Tartiblash Massiv usuli qanday ishlaydi 479 Hammasini birlashtirish 480 Ayni paytda Web Cola’da 481 Sinov diskini saralash 482 19 Mundarija 11 Jin ursin! Judi yana haq. 20 Anonim funksiyalar, qamrov va yopilishlar Jiddiy funksiyalar Biz funksiyalar haqida ko‘p narsalarni o‘rgandik, lekin bu hammasi emas.Bu bobda biz ko‘proq davom etamiz va odatda professionallar qiladigan mavzularni o‘rganamiz. Funktsiyalar bilan qanday qilib samarali ishlashni o'rganasiz. Bo'lim unchalik uzoq bo'lmaydi, lekin juda qizg'in bo'ladi, shuning uchun bo'lim oxiriga kelib JavaScript kodingizning ifodaliligi barcha kutganlardan ham oshib ketadi. Shuningdek, siz hamkasbingizning kodini olishga yoki ochiq kodli JavaScript kutubxonasini oʻrganishga tayyor boʻlasiz, chunki biz funksiyalardan foydalanish bilan bogʻliq boʻlgan baʼzi umumiy idiomalar va konventsiyalarni ham oʻrganamiz. Va agar siz hech qachon anonim funktsiyalar va yopilishlar haqida eshitmagan bo'lsangiz, bu tanishish uchun eng zo'r joy! Bir soniya kutib turing ... Judi yopilish haqida gapirganmi? Ular bizning qilayotgan ishimizga qandaydir aloqasi borga o'xshaydi. Keling, ushbu mavzuni o'rganamiz va u bilan tenglashamiz. Funksiyalarni boshqa tomondan ko'rib chiqamiz ... 496 Anonim funksiyadan qanday foydalanaman? 497 Funksiya qachon aniqlanadi? Bu erda variantlar mavjud ... 503 Nima bo'ldi? Nima uchun chivin funktsiyasi aniqlanmagan? 504 Yuvalangan funksiyalar qanday yaratiladi 505 Yuvalash qamrovga qanday ta’sir qiladi 506 Qisqacha aytganda leksik qamrov 508 Leksik doirada nima qiziq 509 Funksiyalar yana 511 Funksiya chaqiruvi (yana) 512 “Yopish” nima? 515 Funksiyani qanday yopish kerak 516 Hisoblagichni amalga oshirish uchun yopilishlardan foydalanish 518 Sehrli hisoblagichni sinovdan o‘tkazish 519 Sahna orqasiga qarash 519 Funktsional ifodani argument sifatida o‘tkazgan holda yopishni yaratish 521 Yopish uning nusxasini emas, bevosita muhitni o‘z ichiga oladi 522 Hodisalarni ishlov beruvchida yopilish yaratish 523 Yopilmasdan dastur 524 Yopuvchi dastur 524 Hit hisoblagichning sinov drayveri 525 Yopish qanday ishlaydi 526 Mundarija 12 Obyektlarni arzimagan yaratish Hozirgacha biz obyektlarni qo‘lda yaratdik. . Har bir ob'ekt uchun barcha xususiyatlarni istisnosiz o'rnatadigan ob'ekt literalidan foydalanilgan. Kichik dasturlar uchun bu yaxshi, lekin jiddiy kod uchun sizga yaxshiroq narsa kerak, ya'ni ob'ekt konstruktorlari. Konstruktorlar ob'ektlarni yaratishni osonlashtiradi va siz bitta naqsh bo'yicha ob'ektlar yaratishingiz mumkin — boshqacha qilib aytganda, konstruktorlar bir xil xususiyatlarga ega va bir xil usullarni o'z ichiga olgan bir qator ob'ektlarni yaratishga imkon beradi. Konstruktorlar yordamida yozilgan kod ancha ixchamroq va ko'p sonli ob'ektlarni yaratishda xatolik xavfini kamaytiradi. Sizni ishontirib aytamizki, ushbu bobni o'rganganingizdan so'ng, siz butun ongli hayotingiz davomida bu ishni bajargandek, konstruktorlardan foydalanasiz. Ob'ekt harflaridan foydalangan holda ob'ektlar yaratish 540 Ob'ektlar orasidagi o'xshashlik va farqlar haqida 541 Konstruktorlar 543 Konstruktorni qanday yaratish kerak 544 Konstruktorni qanday ishlatish 545 Konstruktorlar qanday ishlaydi 546 Konstruktorlarga usullarni ham qo'shishingiz mumkin 548 Xavfsiz hudud 51 G15! 554 Yangi avtomashinalarda sinov drayveri 556 Ob'ekt harflariga vaqt ajrating 557 Argumentlarni ob'ekt harflariga o'zgartiring 558 Avtomobil konstruktorini o'zgartiring 559 misollar 561 Hatto loyihalashtirilgan ob'ektlar ham mustaqil xususiyatlarga ega bo'lishi mumkin 564 Haqiqiy dunyo konstruktorlari 566 Massiv ob'ekti 5-512 boshqa ob'ektlar Mundarija 13 Prototiplardan foydalanish Kuchli ob'ektlar Ob'ektlarni yaratishni o'rganish - bu faqat boshlanish.Mushaklaringizni kuchaytirish vaqti keldi - ob'ektlar orasidagi munosabatlarni aniqlash va kod almashishni tashkil qilish uchun ilg'or vositalarni o'rganing. Bundan tashqari, bizga mavjud ob'ektlarni kengaytirish mexanizmlari kerak bo'ladi. Boshqacha qilib aytganda, biz ob'ektlar bilan ishlash uchun asboblar to'plamini kengaytirishimiz kerak. Ushbu bobda siz JavaScript-ning juda kuchli ob'yekt modeliga ega ekanligini ko'rasiz, lekin u an'anaviy ob'ektga yo'naltirilgan tillar modelidan biroz farq qiladi. Oddiy sinfga asoslangan ob'ektga yo'naltirilgan tizimlar o'rniga JavaScript prototip modelidan foydalanadi - boshqa ob'ektlarning xatti-harakatlarini meros qilib oladigan va kengaytira oladigan ob'ektlar. Sizga nima foyda? Tez orada bilib olasiz. Keling, boshlaylik ... Object toString () hasOwnProperty () // va yana 581, lekin u qanchalik samarali? 582 Usullarning takrorlanishi haqiqatan ham muammolarni keltirib chiqaradimi? 584 “Prototip” nima? 585 Prototip orqali meros 586 Meros qanday ishlaydi 587 tur: “It” Prototipni bekor qilish 589 qobiq () yugurish () wag () Prototipni qanday olish mumkin 591 Prototipni qanday yaratish mumkin 592 It prototipi Meroslangan usulni bekor qilish dinamik prototip haqida595 O'tirish usulini yanada qiziqarli amalga oshirish 600 ShowDog Prototype Yana bir bor: o'tirish xususiyati qanday ishlaydi 601 liga: “Webville” Ob'ektlarni loyihalashni qanday boshlash kerak 605 Prototip zanjirini yaratish 607 Prototip zanjirida meros qanday ishlaydi 608 stack () bait () gait () kuyov () ShowDog nomi: "Scotty" zoti: "Scottish Terrier" vazni: 15 ishlov beruvchi: "Cookie" 22 Ob'ektlarni yana diagrammalarda ifodalash Konstruktorlar haqida: Kod qayta ishlatilgan, Natijalarni tahlil qilish 617 Tozalash 618 Yana bir oz kuch ishlatish 619 Qo'ng'iroq qilish. qo'ng'iroq qiling Step by Step 620 Merosdan Foydali foydalanish. .. o'rnatilgan ob'ektni kengaytirish 626 Katta birlashtirish nazariyasi Jami JavaScript 628 Yaxshi hayot uchun ob'ektlar 628 Hammasini birlashtirish 629 Ushbu kitobdan qanday foydalanish Kirish Ular buni JavaScript dasturlash bo'yicha kitobga kiritganiga ishonmayman! ny shoshilinch javobga OE e K A el ed chili T. h S haqida a p v Shunday qilib, Ja va n va savolga: “Kitobdagi dastur va bu kitob bilan qanday ishlash haqida Bu kitob kim uchun yozilgan? Agar siz quyidagi savollarning barchasiga ha deb javob bersangiz: 1 Sizda zamonaviy brauzer va kompyuterga ega matn muharriri ? 2 Eng yaxshi ishlab chiqish amaliyotlari va eng so'nggi standartlardan foydalangan holda JavaScript-da dasturlashni o'rganish, eslash, tushunish va o'rganishni xohlaysizmi? 3 Quruq, zerikarli akademik ma'ruzalardan ko'ra jonli suhbatni afzal ko'rasizmi? ... unda bu kitob siz uchun. "Zamonaviy brauzer" deganda biz Safari, Chrome, Firefox yoki IE 9 va undan yuqori versiyalarining yangilangan versiyasini nazarda tutamiz. [Sotuvdan eslatma: Bu kitob aslida puli borlar uchundir.] Bu kitob kim uchun emas? Agar siz quyidagi savollardan biriga “ha” deb javob bersangiz: 1 Veb-dasturlashda mutlaqo tajribasizmisiz? HTML va CSS uchun yangimi? Agar shunday bo'lsa, JavaScript-ni hal qilishdan oldin veb-sahifalarni qanday yaratishni o'rgatadigan HTML, XHTML va CSS-ni o'rganish bilan boshlash yaxshidir. 2 Siz allaqachon tajribali veb-dasturchi bo'lib, ma'lumotnoma qidiryapsizmi? 3 Yangi narsani sinab ko'rishdan qo'rqasizmi? Chiziqli va katakli kiyim kiyishdan ko'ra tish shifokoriga borishni afzal ko'rasizmi? Sizningcha, JavaScript ob'ektlarini erkaklar shaklida tasvirlaydigan kitob jiddiy bo'lishi mumkin emasmi? ... bu kitob siz uchun emas. 24 Kirish Kirish Biz nima deb o'ylayotganingizni bilamiz "Jiddiy dasturlash kitoblari shundaymi?" "Va nima uchun bu erda juda ko'p chizmalar bor?" "Bunday o'rganishingiz mumkin bo'lgan biror narsa bormi?" Sizning fikringiz buni muhim deb hisoblaydi. Biz sizning miyangiz qanday o'ylashini bilamiz Miya yangi tajribalarni xohlaydi. U doimo izlaydi, tahlil qiladi, g'ayrioddiy narsani kutadi. Bu shunday ishlaydi va omon qolishimizga yordam beradi. Bizning miyamiz barcha oddiy, kundalik narsalar bilan qanday shug'ullanadi? U bor kuchi bilan ulardan o'zini himoya qilishga harakat qiladi, ular uning haqiqiy ishiga - haqiqatan ham muhim narsani saqlashga aralashmasliklari uchun. Miya zerikarli ma'lumotlarni saqlashni zarur deb hisoblamaydi. U "aniq ahamiyatsiz" filtrdan o'tmaydi. Ammo miya nima muhimligini qanday biladi? Tasavvur qiling-a, siz sayrga chiqdingiz va to'satdan sizning oldingizda yo'lbars paydo bo'ladi. Boshingiz va tanangizda nima bo'lyapti? Neyronlar faollashadi. Tuyg'ular kuchayadi. Kimyoviy reaktsiyalar sodir bo'ladi. Va keyin sizning miyangiz tushunadi ... Ajoyib. Yana 613 quruq, zerikarli sahifalar. Sizning miyangiz yo'q, g qavat SHU va Eo eslamaydi Albatta, bu muhim! Unutmang! yuvish uchun bosing. Endi tasavvur qiling-a, siz uyda yoki kutubxonada - yo'lbarslar topilmaydigan issiq, shinam joyda. Siz o'qiysiz - imtihonga tayyorlanasiz. Yoki siz bir hafta davom etgan qiyin texnik mavzuni o'zlashtirishga harakat qilyapsiz ... maksimal o'n kun. Va keyin muammo tug'iladi: sizning miyangiz sizga yaxshilik qilishga harakat qilmoqda. U qimmatli resurslar bu ahamiyatsiz bo'lib ko'ringan ma'lumotlarga sarflanmasligiga ishonch hosil qilishga harakat qiladi. Ularni muhim narsaga sarflash yaxshiroqdir. Masalan, yo'lbarslar uchun. Yoki olovga tegmaslik yaxshiroqdir. Yoki siz futbolka va shortilarda chang'ida uchmasligingiz kerak. Yo'q oson yo'l miyangizga ayting: "Eshiting, miyam, men sizga albatta minnatdorman, lekin bu kitob qanchalik zerikarli bo'lmasin va mening his-tuyg'ularim hozir nolga teng bo'lsa ham, men bu erda nima yozilganini eslashni xohlayman." keyingi� 25 Ushbu kitob bilan qanday ishlashni o'rgatadi Bu kitob unutishni istamaydiganlar uchun. tushunish uchun, lekin nima uchun bu zhn well and alem haqida? Birinchidan, biz nimanidir ichki o'rganamiz. Yangi maqolaga ko'ra, hech kimda ko'proq fa hech kim yo'q, assimilyatsiya qilish uchun Push psixologiyasi boshga o'rgatilgan va biz tivistics, aytmoqchi, sahifada qanday bilmaymiz. Biz bilish sohasidagilar tarafdorimiz, ya'ni ishlash uchun bizga ko'proq material kerak.Boshqa tillardan farqli o'laroq, biz ishlashimiz kerak. JavaScript kodi miyangizni st: py seriyali Head Fir Basic Principles to'g'ridan-to'g'ri brauzerga majburlash uchun uzatiladi. matn st, odatdagidan ko'ra yaxshiroq ka ko'rinishida lou arm fo eslab qoladi. Graphi tia ia b samaradorlikni oshiradi va sezilarli darajada yaxshilanadi, shuning uchun Crom veb-server ("Kod topildi, oling" tadqiqoti). , tion (89% gacha bo'lgan raqamlar hali o'lchamda ko'rsatilgan. Yaqinda rasmiy ma'ruzalar haqida (materialning qizg'inligida izl alesc R s t%. Rel emas. Menimcha, uni o'qish uchun sizni yeb qo'yadi, yil sakkizinchi kuni, diqqat qiling: JavaScript kodini qarzga oling. Siznikini ham nima jalb qiladi. jiddiy. ... stolda yoki ma'ruzada, siz zo'riqishni boshlamaysiz Endi siz o'quvchisiz. Siz bor ekansiz, ishora qiling.Tat nya Chining faol ishtiroki deoise va maqsadlarda uchrashdi, sizning girusingiz bilan hech narsa ehtiyotkor bo'lmaydi, sizda shunday bo'lishi kerak. bular; Biz xulosalar va ul rm fo o'zlashtirish manfaatdor bo'lishi kerak, va mashqlar hal qilish va buning uchun sizga yangi bilim kerak. qanday va murakkab savollarni hal qilishda ishtirok etish. Men miyaman va turli dudlar ikkala yarim shardir Kick'n Tunes BT - Sun'iy yo'ldosh: yoqimli past ohang. Oh men. O'tir! Bu o‘quvchining diqqatini tez o‘ziga tortadi (va tejaydi) oh, oh, men buni o‘rganmoqchiman.. Uni hamma uchun o‘zgartirishim shart emas: “Ko‘rishdan bilaman, Siyotdagi sirrtua unga diqqatni tortadi! oh sahifa ". Deystzki mamlakatlarning miyasi lekin men birinchi, kutilmaganda uxlab qolaman. Ouuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuzerikarli. Ichki makon tez bo'lishi shart emas, o'qish tezroq. nima haqida yo'lni yodlash qobiliyatini tan olish ancha tezdir. oh oh. Ma'lum va hissiy esdalik haqida g'amxo'rlik. Bu bilan hech qanday aloqamiz yo'q: biz bu haqda gapiryapmiz va bu biz bu erda qilayotgan his-tuyg'ularga bog'liq. Yo'q, sentim chu - bu qanday ajoyib! ” kimligini hal qilishda, Biz teres va "D in" tuyg'usini eslaymiz, lekin qo'rqamanki, siz bunday his-tuyg'ularni tushunganingizdan hayratda qolasiz yoki qachon tushunasiz, lekin Chexiya bo'limi atrofidagi og'ir vazifalarni topishingizni kutasiz. . Bobning texnologiya haqidagi bilimi baribir, mavzu eng yaxshi 26 Kirish Kirish Metafognisiya: fikrlash fani Agar siz haqiqatan ham yangi bilimlarni tezroq va chuqurroq o'rganishni istasangiz, qanday fikrda ekanligingiz haqida o'ylab ko'ring. O'rganishni o'rganing. O'qish davomida metakognitsiya nazariyasini kamchiligimiz o'rganamiz. Biz o'rganishimiz kerak, lekin bizga buni kamdan-kam o'rgatishadi. Qanday qilib miyamni bularning barchasini eslab qolishim mumkin .... Lekin siz ushbu kitobni o'qiyotganingiz uchun, ehtimol siz JavaScript dasturlarini yozishni va iloji boricha tezroq o'rganishni xohlaysiz. Siz o'qiganingizni eslashni xohlaysiz va buning uchun avvalo o'qiganingizni tushunishingiz kerak. Ta'lim jarayonidan maksimal darajada foydalanish uchun siz miyangizni idrok etishingiz kerak yangi material muhim narsa sifatida. Sizning mavjudligingiz uchun tanqidiy. Yo'lbars kabi muhim. Aks holda, miyangiz bilan cheksiz kurash olib borasiz, bu esa har qanday holatda yangi ma'lumotlarni yodlashdan qochadi. Xo'sh, qanday qilib miyangizni JavaScript dasturlash yo'lbars kabi muhim ekanligiga ishontira olasiz? Sekin va zerikarli yo'l bor va tez va samarali yo'l bor. Birinchisi to'mtoq takrorlashga asoslangan. Agar siz uni qayta-qayta takrorlasangiz, hatto eng zerikarli ma'lumot ham esda qolishi mumkinligini hamma biladi. Etarli miqdordagi takrorlash bilan miyangiz shunday deb hisoblaydi: "Bu ahamiyatsiz bo'lib tuyuladi, lekin bir marta bir xil narsa ko'p marta takrorlanadi ... Mayli, men ishontirdim." Tez yo'l miyaning faolligini oshirishga va ayniqsa uning turli xil turlarining kombinatsiyasiga asoslangan. Oldingi sahifada sanab o'tilgan barcha omillar miyangizning siz uchun ishlashiga yordam berishi isbotlangan. Misol uchun, tadqiqotlar shuni ko'rsatdiki, so'zlarni rasmlarga joylashtirish (taglavhalar, asosiy matn va boshqalar o'rniga) miyani matn va grafika o'rtasidagi aloqalarni tahlil qilishga majbur qiladi, bu esa ko'proq neyronlarning o'qqa tutilishiga olib keladi. Ko'proq neyronlar - ma'lumotni muhim va eslab qolishga arziydi deb hisoblash ehtimoli shunchalik yuqori bo'ladi. Suhbat uslubi ham muhim: odatda odamlar suhbatga kirishganda ko'proq e'tibor berishadi, chunki ular suhbatni kuzatib borishlari va o'z fikrlarini bildirishlari kerak. Kitob bilan nima "gaplashayotganingiz" miyani esa umuman qiziqtirmaydi! Boshqa tomondan, agar matn quruq va rasmiy bo'lsa, unda siz passiv ishtirokchi sifatida zerikarli ma'ruzada qanday his qilsangiz, miya xuddi shunday his qiladi. U uyqusirab qolgan. Ammo chizmalar va suhbat uslubi - bu faqat boshlanish. Keyingi� 27 Ushbu kitob bilan qanday ishlash BIZ nima qildik: Biz rasmlardan foydalandik, chunki miya grafikani matndan yaxshiroq qabul qiladi. Miya nuqtai nazaridan, rasm 1024 so'zga teng. Matn grafika bilan birlashtirilganda, biz matnni to'g'ridan-to'g'ri chizmalarga joylashtiramiz, shuning uchun miya yanada samarali ishlaydi. Biz ortiqchalikdan foydalanamiz: bir xil narsani bir necha marta takrorlash, turli xil vositalardan foydalanish, turli his-tuyg'ularga murojaat qilish - bularning barchasi miyangizning bir nechta sohalarida materialning kodlanishi ehtimolini oshirish uchun. It prototipi turlari: "It" po'stlog'i () yugurish () vag () ShowDog prototipi ligasi: "Webville" stack () o'lja () yurish () kuyov () ShowDog nomi: "Scotty" zoti: "Scottish Terrier" vazni: 15 ishlov beruvchi: "Cookie" Biz tushunchalar va rasmlardan biroz kutilmagan tarzda foydalanamiz, chunki miya yangi ma'lumotlarni yaxshiroq qabul qiladi. Bundan tashqari, chizmalar va g'oyalar odatda hissiy tarkibga ega, chunki miya hissiyotlarning biokimyosiga e'tibor beradi. Bizni his qiladigan narsa yaxshiroq esda qoladi - bu hazil, ajablanib yoki qiziqish. Biz suhbat uslubidan foydalanamiz, chunki suhbatda ishtirok etganingizda, ma'ruzani passiv tinglashdan ko'ra, miya ma'lumotni yaxshiroq qabul qiladi. Bu o'qish paytida ham sodir bo'ladi. Kitobga ko'plab mashqlar kiritilgan, chunki biror narsa qilayotganda miya yaxshiroq eslab qoladi. Biz ularni qiyin, ammo qiziqarli qilishga harakat qildik - bu ko'pchilik o'quvchilarni afzal ko'radi. Biz bir nechta o'rganish uslublarini birlashtirdik, chunki ba'zi o'quvchilar bosqichma-bosqich tavsiflarni afzal ko'rishadi, boshqalari birinchi navbatda "katta rasm" ni taqdim etishga intiladi, uchinchisi esa kod bo'lagi bilan kifoya qiladi. Sizning shaxsiy xohishingizdan qat'i nazar, bir xil hikoya uchun bir nechta taqdimot variantlarini ko'rish foydali bo'ladi. Biz miyangizning ikkala yarim sharlarini ham jalb qilishga harakat qildik; bu materialni assimilyatsiya qilish ehtimolini oshiradi. Miyaning bir tomoni ishlayotgan bo'lsa, ikkinchisi ko'pincha dam olishga qodir; bu uzoq vaqt davomida o'qitish samaradorligini oshiradi. Shuningdek, u boshqa nuqtai nazarlarni aks ettiruvchi hikoyalar va mashqlarni o'z ichiga oladi. Miya baholash va mulohaza yuritish kerak bo'lganda ma'lumotni chuqurroq o'zlashtiradi. Kitobda har doim ham oson javob berib bo'lmaydigan savollar bor, chunki miya tezroq o'rganadi va biror narsa qilish kerakligini eslaydi. Siz boshqalarning harakatini kuzatib, mushaklarni rivojlantira olmaysiz. Biroq, biz o'quvchilarning sa'y-harakatlari to'g'ri yo'nalishda bo'lishiga ishonch hosil qilamiz. Siz tushunarsiz misollar ustida boshqotirishingiz yoki noto'g'ri, to'yingan texnik jargon yoki haddan tashqari ixcham matnni o'rganishingiz shart emas. Hikoyalarda, misollarda, rasmlarda odamlar bor - chunki siz ham insonsiz. Sizning miyangiz esa jonsiz narsalarga qaraganda odamlarga ko'proq e'tibor beradi. Biz 80/20 printsipidan foydalanamiz. Agar siz ajoyib JavaScript dasturchisi bo'lmoqchi bo'lsangiz, bu siz o'qishingiz kerak bo'lgan yagona kitobdir. Unda biz hamma narsa haqida gapirishga harakat qilmayapmiz - faqat haqiqatan ham zarur bo'lgan narsalar haqida. 28 kirish Brauzerga BO'LING ASOSIY NOKTALAR Boshqotirmalar Kirish Miyangizni itoat qilish uchun nima qilishingiz mumkin Biz vazifamizni bajardik. Qolganlari sizga bog'liq. Ushbu maslahatlar boshlang'ich nuqtasi bo'ladi; miyangizni tinglang va nima sizga mos kelishini va nima yordam bermasligini aniqlang. Yangi narsalarni sinab ko'ring. Kesib oling va muzlatgichga qo'ying. 1 Vaqtingizni oling. Qanchalik ko'p tushunsangiz, shunchalik kam yodlashingiz kerak. 6 Faqat o'qish etarli emas. Kitob sizga savol bersa, javobga shoshilmang. Tasavvur qiling, kimdir sizga savol beryapti. Miya qanchalik chuqur fikr yuritsa, materialni shunchalik tez tushunib, eslab qolasiz. 7 2 Mashq qiling, eslatma oling. Biz mashqlarni kitobga kiritdik, ammo biz ularni siz uchun qilmoqchi emasmiz. Va mashqlarga qaramang. Qalam oling va yozing. Jismoniy mashqlar paytida jismoniy harakatlar uning samaradorligini oshiradi. 3 Yon panellarni o'qing. 4 Yotishdan oldin boshqa kitoblarni o'qimang. 5 Suv iching. Va yana. Miya yuqori namlikli muhitda yaxshi ishlaydi. Suvsizlanish (chanqagandan oldin ham paydo bo'lishi mumkin) kognitiv funktsiyani pasaytiradi. Nutq miyaning boshqa qismlarini faollashtiradi. Agar biror narsani yaxshiroq tushunishga yoki eslashga harakat qilsangiz, uni baland ovozda ayting. Yaxshisi, boshqa birovga tushuntirishga harakat qiling. Siz materialni tezroq o'rganasiz va, ehtimol, o'zingiz uchun yangi narsalarni kashf etasiz. Miyangizni tinglang. Miya qachon charchay boshlaganiga e'tibor bering. Agar siz materialni yuzaki qabul qila boshlasangiz yoki o'qiganingizni unutsangiz, tanaffus qilish vaqti keldi. 8 His qiling! 9 Ijodkor bo'ling! Bu degani: hamma narsani o'qing. Yon panellar asosiy materialning bir qismidir! Ularni o'tkazib yubormang. O'rganishning bir qismi (ayniqsa, ma'lumotni uzoq muddatli xotiraga o'tkazish) kitobni yopganingizdan keyin sodir bo'ladi. Sizning miyangiz ma'lumotni darhol qayta ishlamaydi. Agar qayta ishlash jarayonida yangi ma'lumotlar kelsa, avval o'rgangan narsangiz yo'qolishi mumkin. Ovoz chiqarib gapiring. Sizning miyangiz kitobdagi material haqiqatan ham muhimligini bilishi kerak. Hikoyalarimiz qahramonlari bilan tanishing. O'zingizning fotosuratingiz sarlavhalarini yarating. Yomon hazilga qiyshayish hech narsani his qilishdan ko'ra yaxshiroqdir. Kundalik ishingizda yangi bilimlarni qo'llashga harakat qiling. Mashqlardan tashqari amaliy tajriba orttirish uchun biror narsa qiling. Buning uchun faqat qalam va mos vazifa kerak ... JavaScript foydali bo'lishi mumkin bo'lgan vazifa. 10 Uxlash. Dasturlashni o'rganish uchun siz miyangizda ko'plab yangi aloqalarni yaratishingiz kerak. Tez-tez uxlash foydalidir. keyingi� 29 Ushbu kitob bilan qanday ishlash kerak. Iltimos, diqqat qiling, bu maʼlumotnoma emas, oʻquv qoʻllanma. Biz kitobdan siz ishlayotgan materialni o'rganishga xalaqit beradigan narsalarni ataylab olib tashladik. Kitobni birinchi marta o'qiyotganingizda esa, eng boshidan boshlashingiz kerak, chunki kitob o'quvchining ma'lum bilim va tajribaga ega ekanligini taxmin qiladi. Biz JavaScript-ning YAXSHI tomonlarini tasvirlaymiz va YOMON haqida ogohlantiramiz. JavaScript dasturlash tili akademik jihatdan tug'ilmagan va ma'rifiy ekspertiza bosqichidan o'tmagan. U bu dunyoga zarurat tufayli kelgan va dastlabki brauzerlarning og'ir muhitida o'sgan. Ogohlantirish so'zi: JavaScript juda ko'p afzalliklarga ega, ammo boshqa, unchalik katta bo'lmagan jihatlari ham bor. Umuman olganda, JavaScript undan qanday qilib oqilona foydalanishni biladiganlar uchun ajoyib tildir. Ushbu kitobda biz sizga yaxshi tomonlardan qanday samarali foydalanishni o'rgatamiz, shuningdek, yuzaga kelishi mumkin bo'lgan tuzoqlarni ko'rsatamiz va ularni hal qilish bo'yicha maslahat beramiz. Biz tilning barcha tomonlarini batafsil tasvirlashga harakat qilmayapmiz. JavaScript juda keng mavzu. Ushbu kitobni ma'lumotnoma sifatida ko'rib chiqmaslik kerak; Bu JavaScript-ni o'rganish uchun hamma narsani qamrab olmaydigan o'quv qo'llanma. Biz sizga JavaScript asoslarini o'rgatmoqchimiz, shunda siz har qanday eski ma'lumotnomani olib, JavaScript-da xohlagan narsani qilishingiz mumkin. Bu kitob o'rgatadi JavaScript yordamida brauzerlarda. Brauzer nafaqat JavaScript kodini bajarish uchun eng tipik muhit, balki eng qulay hamdir (har bir kishi matn muharriri va brauzeriga ega kompyuterga ega va JavaScript-ni ishga tushirish uchun boshqa hech narsa kerak emas). Brauzerda JavaScript-ni ishga tushirish ham tezkor javobni anglatadi; Siz yozgan kod qanday ishlashini ko'rish uchun veb-sahifani qayta yuklash kifoya. Kitob yaxshi tuzilgan, o'qilishi mumkin bo'lgan kod yozishni rag'batlantiradi. Kod o'qish oson va boshqa odamlar uchun tushunarli tarzda yozilishi kerak, shuningdek, kelgusi yilda chiqariladigan brauzerlarda ishlaydi. Bu imkon qadar sodda va sodda bo'lishi kerak, shunda siz o'zingizning vazifangizni engishingiz va boshqa masalalarga o'tishingiz mumkin. Ushbu kitobda biz sizga kelajakdagi o'zgarishlarga moslasha oladigan oddiy, yaxshi tuzilgan kodni yozishni o'rgatamiz — bu kod bilan faxrlanishingiz, ramkaga solib devorga osib qo'yishingiz mumkin. Turli xil brauzerlardan foydalanishni tavsiya etamiz. Biz sizga standartlarga asoslangan JavaScript-ni yozishni o'rgatamiz, lekin siz JavaScript-ni turli brauzerlar tomonidan qanday talqin qilinishida nozik farqlarga duch kelishingiz mumkin. Taqdim etilgan kod barcha zamonaviy brauzerlarda ishlashiga ishonch hosil qilgan bo'lsak va hatto kod ushbu brauzerlar tomonidan qo'llab-quvvatlanishini ta'minlash uchun bir nechta hiyla-nayranglarni ko'rsatgan bo'lsak-da, biz bir nechta brauzerlarni tanlashni va ularda JavaScript kodingizni sinab ko'rishingizni tavsiya qilamiz. Bu sizga brauzerlar orasidagi farqlarni qanday ko'rishni va izchil natijalar bilan brauzerlarda yaxshi ishlaydigan JavaScript kodini qanday yozishni o'rgatadi. 30 Kirish Kirish Dasturlash jiddiy biznesdir. Siz ishlashingiz kerak, ba'zan juda qattiq. Agar sizda allaqachon amaliy dasturlash tajribangiz bo'lsa, unda nima haqida gapirayotganimizni bilasiz. Agar siz ushbu kitobni HTML, XHTML va CSS-ni o'rganganingizdan keyin olgan bo'lsangiz, bu erda yozishingiz kerak bo'lgan kod biroz boshqacha ko'rinishini unutmang. Dasturlash alohida fikrlashni talab qiladi. Bu mantiqiy, ba'zan juda mavhum va algoritmikdir. Xavotir olmang, biz o'quv jarayonini miyangiz uchun imkon qadar zavqli qilishga harakat qilamiz. Sekin-asta harakatlaning, yaxshi ovqatlaning va ko'proq uxlang va yangi tushunchalar sizning boshingizga mos keladi. Mashqlar MAJburiy. Mashqlar kitobning asosiy materialining bir qismidir. Ba'zi mashqlar materialni eslab qolishga yordam beradi, boshqalari uni yaxshiroq tushunishga yordam beradi, boshqalari esa unga qaratilgan. amaliy foydalanish... Jismoniy mashqlarni o'tkazib yubormang. Takrorlash qasddan. Ushbu turkumdagi kitoblar bitta asosiy xususiyatga ega: biz sizga materialni yaxshi tushunishingizni xohlaymiz. Va siz o'rgangan hamma narsani eslab qolishingiz uchun. Aksariyat ma'lumotnomalar muvaffaqiyatli yodlashni maqsad qilmaydi, lekin bu ma'lumotnoma emas, balki darslik, shuning uchun ba'zi tushunchalar kitobda bir necha marta taqdim etilgan. Misollar imkon qadar ixcham saqlangan. Bizning o'quvchilarimiz ikkita haqiqatan ham muhim qatorni topish uchun misollarda 200 qator kodlardan o'tishni yoqtirmaydilar. Kitobdagi misollarning aksariyati siz o'rganayotgan qism oddiy va tushunarli bo'lishi uchun eng kam kontekstda keltirilgan. Barcha misollar yaxshi tuzatilgan yoki oxirigacha yozilgan bo'lishini kutmang - ular ta'lim maqsadlarida yaratilgan va har doim ham to'liq funksionallikka ega emas. Barcha namunaviy fayllar Internetda mavjud. Siz ularni http://wickedlysmart.com/hfjs saytida topishingiz mumkin. Aql o'yinlari mashqlarida javob yo'q. Ularning ba'zilarida umuman to'g'ri javob yo'q, boshqalarda javoblaringiz qanchalik to'g'ri ekanligini o'zingiz hal qilishingiz kerak (bu o'quv jarayonining bir qismidir). Aql o'yinlarining ba'zi mashqlari to'g'ri yo'nalishni topishga yordam beradigan maslahatlar beradi. Keyingi� 31 Ushbu kitob bilan qanday ishlash kerak Biz ko'pincha faqat belgilanmagan kodni taqdim etamiz. Birinchi ikki bobdan so'ng, biz ko'pincha faqat JavaScript kodini taqdim etamiz, agar u HTML formatida qadoqlangan bo'lsa. Quyida kitobning ko'pgina kodlari bilan ishlatilishi mumkin bo'lgan oddiy HTML sahifasi mavjud. Agar biror joyda boshqa HTML belgilaridan foydalanish kerak bo'lsa, biz sizga bu haqda aytib beramiz: Veb-sahifadagi barcha kontent shu yerda joylashgan. Havotir olmang; biz kitobning boshida hamma narsani tushuntiramiz. Kod namunalari, yordam va muhokamalar Barcha kerakli yordamchi materiallar http://wickedlysmart.com/hfjs manzilida mavjud. Bu erda siz kod misollari va qo'shimcha materiallar, jumladan videolarni topasiz. 32 kirish kirish Bu bolalar zo'r; ular ko'rib chiqish jarayonida biz bilan qolishdi va bebaho narsalarni baham ko'rishdi batafsil ma'lumot hamma narsa haqida! Akademik muharrirlar Sent-Jeff Ismael Martin Bing Demiddel Frank D. Mur Alfred J. Speller Bryus Forkush Jav va Ruedas tomonidan ko'rib chiqilgan barcha ekspertlar guruhiga rahmat! Bu kitob oldingi kitoblarimizdan ko'ra ko'proq ko'rib chiqilgan. Bizning WickedlySmart Insider dasturimizga qo'shilgan 270 dan ortiq kishi kitobning yozilishini tekshirish va tez ko'rib chiqishda ishtirok etdi. Tizim biz kutgandan ham yaxshiroq ishladi va kitobning deyarli barcha jihatlariga ta'sir qildi. Biz barcha ishtirokchilarga samimiy minnatdorchiligimizni bildiramiz; sizga rahmat, kitob bo'lishi mumkin bo'lgandan ancha yaxshi. Yuqorida tasvirlangan ilmiy muharrirlar kitob ishiga ayniqsa qimmatli tushuncha va muhim hissa qo'shgan. Ulardan tashqari bizga: Galina Orlova, J. Patrik Kelli, Klaus-Piter Kahl, Rob Kliri, Rebekka Dann-Kreyn, Olaf Shenrix, Jim Kopek, Metyu M. Xanraxan, Rassel Allin-Villems, Kristin J. Uilson, Lui-Filip Breton, Timo Gleyzer, Sharmen Grey, Li Bekxem, Maykl Merfi, Deyv Yang, Don Smolij, Alan Rusyak, Erik R. Lisinski, Brent Fazekas, Syu Starr, Erik (to'q sariq shimlar) Jonson, Jess Palmer, Manabu Kavakami, Alan Makivor, Aleks Kelli, Ivon Bixel Truon, Ostin Trap, Tim Uilyams, J. Albert Bouden II, Rod Shelton, Nensi DeXeyn Xoll, Syu MakGi, Fransisko Debs, Miriam Berkland, Kristin Grekko, Elxaji Barri, Atanasios Valsamak va boshqalar. Piter Keyesi Robb Kerri. Keyingi� 33 ta ekspert guruhi Tashakkur * Hurmatli Devid Pauers, biz hurmatli ilmiy muharririmiz Devid Pauersga ham juda minnatdormiz. Darhaqiqat, biz Dovudning ishtirokisiz umuman yozmaymiz - u ko'pincha bizni yuzaga kelishi mumkin bo'lgan muammolardan qutqardi. Devid bizga kitobni yanada mazmunli va texnik jihatdan aniqroq qilishimizga yordam beradi (aniqrog'i, bizni majbur qiladi) va uning havaskor komediyachi sifatidagi ikkinchi kasbi biz kitobning ahamiyatsiz qismlarini yozganimizda foydali bo'lib chiqadi. Yana bir bor rahmat, Devid - siz haqiqiy professionalsiz va biz kitob sizning texnik nazoratingizdan o'tganini bilib, kechalari tinchroq uxlaymiz. O'Reillyga: Ushbu kitobga yo'l ochib bergan muharririmiz Megan Blanchettga katta rahmat. Bu tabassum sizni aldashiga, adashtirishiga yo'l qo'ymang, bu odam to'siq, sabrli professional. U kutdi va uning tugashi uchun oilaviy dam olishni qurbon qildi. Bu, shuningdek, O'Reyli (va O'Reyli biz bilan bo'lgan munosabatlarida) bilan munosabatlarimizda aql-idrokimizni saqlashimizga yordam beradi. Biz sizni yaxshi ko'ramiz va keyingi qo'shma loyihani kutmaymiz! Megan Blanchett Bosh muharririmiz Mayk Xendriksonga yana bir do'stona salomlar, u boshidanoq ushbu kitobni faol ravishda targ'ib qilmoqda. Rahmat Mayk; Sizning ishtirokingizsiz birorta kitobimiz nashr etilmasdi. Siz o'n yildan ortiq vaqt davomida bizning etakchimizsiz va biz sizni yaxshi ko'ramiz! * Ko'p miqdordagi minnatdorchilikni osongina tushuntirish mumkin: biz minnatdorchilik bo'limida eslatib o'tilgan har bir kishi qarindoshlari va do'stlari uchun kitobning kamida bitta nusxasini (va ehtimol undan ham ko'proq) sotib olishi haqidagi nazariyani sinab ko'rmoqdamiz. Agar keyingi kitobimizda sizga rahmat aytishimizni istasangiz va sizning katta oilangiz bo'lsa - yozing. 34 kirish Mayk Xendrikson Kirish O'Reilly a'zolariga: Biz butun O'Reilly guruhiga chin dildan minnatdormiz: Melani Yarbrou, Bob Pfaler va Den Foxmit, bu kitobni yaratgan; Marketingga rahbarlik qilgan Ed Stivenson, Hughett Barrier va Lesli Krandellga biz ularning biznesga noan'anaviy yondashuvini yuqori baholadik. Bizga xizmat qilishda davom etayotgan zamonaviy qopqoq dizayni uchun Elli Volkhakusen, Rendi Kamera va Karen Montgomeriga rahmat. Odatdagidek, murosasiz tahriri uchun Reychel Monahanga (va u bizni qanday dalda bergani) va juda foydali fikr-mulohazalari uchun Bert Beytsga rahmat. Keyingi� 35 1 javascript bilan birinchi tanishish Notanish suvlarda. Kiring, suv salqin! Biz JavaScript-ni tezda ko'rib chiqamiz, birinchi kodni yozamiz, uni ishga tushiramiz va brauzerda qanday ishlashini ko'ramiz! JavaScript ajoyib imkoniyatlarni ochadi. World Wide Webning asosiy dasturlash tili bo'lgan JavaScript veb-sahifalarda kengaytirilgan xatti-harakatlarni aniqlash imkonini beradi. Faqat ekran maydonini egallaydigan quruq, zerikarli, statik sahifalarni unuting - JavaScript yordamida siz foydalanuvchilar bilan muloqot qilasiz, voqealarga munosabat bildirasiz, Internetdan ma'lumotlarni olasiz va foydalanasiz, grafiklarni ko'rsatasiz ... va yana ko'p narsalar. JavaScript-ni yaxshi bilgan holda, siz hatto sahifalaringizda mutlaqo yangi xatti-harakatlarni dasturlashingiz mumkin. Va ikkilanmang - sizning bilimingiz talabga ega bo'ladi. JavaScript endi nafaqat eng mashhur dasturlash tillaridan biri, balki barcha zamonaviy (va ko'plab zamonaviy bo'lmagan) brauzerlar tomonidan qo'llab-quvvatlanadi; bundan tashqari, brauzerlardan alohida mavjud bo'lgan o'rnatilgan JavaScript ilovalari mavjud. Gap yetarli, lekin. Ishga kirishish vaqti keldi! JavaScript qanday ishlaydi JavaScript qanday ishlaydi Siz veb-sahifalarning tuzilishi, mazmuni, tartibi va uslubini yaratishni o'zlashtirgansiz. Ularga xulq-atvor qo'shish vaqti kelmadimi? Hozirgi kunda faqat ko'rish mumkin bo'lgan sahifa hech kimga qiziq emas. Yaxshi sahifalar dinamik va interaktiv bo'lishi kerak va ular foydalanuvchilar bilan yangi usullarda muloqot qilishlari kerak. Bu JavaScript uchun mo'ljallangan. Birinchidan, veb-sahifalar ekotizimida JavaScript-ning egallagan o'rnini ko'rib chiqamiz: HTML HTML (Hypertext Markup Language) sahifalar mazmunini, shuningdek, ularning tuzilishini: paragraflar, sarlavhalar va bo'limlarni aniqlash uchun ishlatilishini allaqachon bilasiz. JS 38 1-bob CSS brauzeri Siz bilasizki, HTML belgilarini ko'rsatish uchun kaskadli jadval texnologiyasi qo'llaniladi. CSS uslublari(Cascading Style Sheets) - Ranglar, shriftlar, hoshiyalar, sahifa tartibi ... CSS sahifa tuzilishidan alohida tartib uslubini belgilaydi. Shunday qilib, biz boramiz: JavaScript, HTML va CSS-ning qarindoshi. JavaScript veb-sahifalarning harakatini aniqlashga qodir. Foydalanuvchi “Sotish 30 soniyada tugaydi!” tugmasini bosganida munosabat bildirish kerakmi? Muhim ma'lumotlarga ega matn qutisi tarkibini tezda tekshirib ko'ringmi? Twitter-dan xabarlarni yuklab oling va ularni sahifada ko'rsatasizmi? Yoki o'ynashni xohlaysizmi? JavaScript yordamga keladi. Siz sahifaga hisob-kitoblarni amalga oshiradigan, voqealarga javob beradigan, chizadigan, ma'lumotlarni uzatadigan, signal beradigan, ma'lumotlarni yangilaydigan, o'zgartiradigan dastur kodini qo'shishingiz mumkin ... Bir so'z bilan aytganda, har qanday dinamik operatsiyalar - JavaScript bularning barchasini amalga oshirishi mumkin. javascript bilan birinchi tanishish JavaScript qanday yoziladi JavaScript dasturlash olamida alohida o'rin tutadi. Oddiy klassik dastur qanday paydo bo'ladi? Siz kod yozasiz, kompilyatsiya qilasiz, bog'laysiz va uni kompyuteringizga o'rnatasiz. JavaScript ancha moslashuvchan va dinamik. Dasturchi JavaScript kodini to'g'ridan-to'g'ri sahifaga kiritadi va keyin uni brauzerga yuklaydi. Keyinchalik, brauzerning o'zi yozilgan kodni bajarish uchun zarur bo'lgan hamma narsani qiladi. Keling, ushbu sxema qanday ishlashini batafsil ko'rib chiqaylik: CSS Muzqaymoq lazzatlari 49 ta lazzat Barcha sevimli lazzatlaringiz! Kodlash 1 Sahifa odatdagidek yaratilgan: HTML mazmuni va CSS uslubi bilan. Sahifaga JavaScript kodi qo'shildi. Ko'rib turganingizdek, HTML va CSS-ga o'xshab, barcha komponentlar bitta faylga joylashtirilishi yoki JavaScript kodini sahifaga kiritilgan alohida faylga ajratish mumkin. Tez orada qaysi usul yaxshiroq ekanligini aniqlaymiz ... Brauzer brauzerini yuklash 2-bandni brauzerda oching. Sahifada JavaScript kodini topgandan so'ng, brauzer darhol uni tahlil qilishni va uni bajarishga tayyorlashni boshlaydi. HTML va CSS-da bo'lgani kabi, agar brauzer JavaScript-da xatoliklarni aniqlasa, u JavaScript, HTML va CSS-ni o'qishni davom ettirishga harakat qiladi. Brauzer foydalanuvchi so'ralgan sahifani ko'ra olmaydigan vaziyatdan qochishga harakat qiladi. Kelajak uchun: brauzer JavaScript kodi tomonidan ishlatilishi mumkin bo'lgan HTML sahifasining "ob'ekt modeli" ni yaratadi. Shu haqiqatni esda tuting, biz unga qaytmaymiz... 3 Brauzer kodga duch kelgan zahoti uni ishga tushirishni boshlaydi va uni butun sahifa hayoti davomida bajarishda davom etadi. Oldingi versiyalardan farqli o'laroq, zamonaviy JavaScript juda samarali va murakkab kompilyatsiya texnikasi tufayli kod deyarli an'anaviy dasturlash tillari kabi tezdir. html head title body script h1 h2 p em on 4 39 JavaScript-ni sahifaga joylashtirish JavaScript-ni sahifaga qanday joylashtirish. Boshidan boshlaylik: JavaScript-ni rivojlantirish uchun siz sahifaga kodni qanday joylashtirishni bilishingiz kerak. Bu qanday amalga oshiriladi? Albatta, elementdan foydalanish U JavaScript kodining bir qismini yozadi. Faqat umumiy sarlavha Yana bir bor, bu kod qanday ishlashi biz uchun muhim emas. Va shunga qaramay ... Unga qarang va har bir satrda nima sodir bo'lishini taxmin qiling. Bu erda o'qish uchun ko'p narsa yo'q. Men "JavaScript kitobidagi misolda yashovchi shartli paragrafman. Men" hayotimni yanada qiziqarli qilish uchun nimadir izlayapman. Test drayveri Sahifa kodini kiriting va uni “behavior.html” nomli faylga saqlang. Endi sahifani brauzerga yuklang (faylni brauzer oynasiga torting yoki Fayl> Ochish buyrug'idan foydalaning). Bizning kodimiz nima qiladi? Maslahat: buni tushunish uchun besh soniya kutish kerak. 40 1-bob javascript bilan ishlashni boshlash RELAX Biz boshqa joyda ishlatilishi mumkin bo'lgan kodni yaratamizmi va uni "wakeUpUser" deb nomlaymizmi? SLE Faqat tashvishlanmang. Hech kim sizdan JavaScript-ni bolaligingizdan bilgandek darhol tushunishingizni kutmaydi. Hozircha JavaScript qanday ekanligini tasavvur qilishning o‘zi kifoya. Dam olish ham bunga loyiq emas: to'liq quvvat bilan ishlash uchun miyangiz kerak. Oldingi sahifadagi kodni eslaysizmi? Keling, har bir satrda nima sodir bo'layotganini taxmin qilishga harakat qilaylik: - qanday qilib countsetTimeout (wakeUpUser, 5000); Bu yerda qancha vaqt bor? Maslahat: to'pig'i. wakeUpUser () funksiyasi (1000 millisekund = 1 sek) ogohlantirish (“Siz bu zerikarli sahifaga abadiy tikilib qolasizmi?”); Bu erda hamma narsa aniq: foydalanuvchi uchun xabar ko'rsatiladi. tez-tez Savol: Savollar berish Savol: Javob: JavaScript "o‘yinchoq tili" deb ataladi, deb eshitganman. Bu to'g'ri? Mening bir do'stim Photoshop'da JavaScript bilan ishlaydi ... yoki shunday deydi. Bu mumkin? Avvaliga JavaScript unchalik kuchli emas edi, lekin keyinchalik uning ahamiyati ortdi va muhim resurslar (jumladan, eng yaxshi mutaxassislarning aqli) JavaScript imkoniyatlarini kengaytirishga ajratildi. Lekin bilasizmi? JavaScript juda tez bo'lishidan oldin ham u ajoyib edi. Va yaqinda ko'rib turganingizdek, u bilan juda ko'p qiziqarli narsalarni qilishingiz mumkin. Ha, JavaScript universal skript tili boʻlib, grafik muharrirlardan tortib musiqa dasturlari va hattoki server tomonidagi dasturlashgacha boʻlgan koʻplab ilovalarga kirib borgan. Javob: Savol: Javob: JavaScript Java bilan qandaydir bog'liqmi? Faqat nomi bilan. JavaScript tili Java-ning mashhurlik cho'qqisida yaratilgan va JavaScript ishlab chiquvchilari bu vaziyatdan foydalanganlar. Ikkala til ham C tillaridan ba'zi bir sintaksisni oladi, ammo ularda umumiylik kam. Savol: JavaScript dinamik sahifalar yaratishning eng yaxshi usuli hisoblanadimi? Flash-ga asoslangan yechimlar haqida nima deyish mumkin? Javob: Bir paytlar Flash interaktiv va yanada dinamik veb-sahifalarni yaratish uchun afzal qilingan texnologiya hisoblangan edi, ammo o'shandan beri sanoat JavaScript bilan HTML5 ga o'tishni boshladi. HTML5 da JavaScript endi veb-dasturlash uchun standart skript tili hisoblanadi. Hozirda JavaScript tezligi va samaradorligini oshirishga, shuningdek, brauzer funksiyalarini kengaytiruvchi JavaScript API’larini yaratishga katta kuch va mablag‘ sarflanmoqda. Savol: Siz ko'plab boshqa tillar tuzilgan deb aytasiz. Bu nima va nima uchun u JavaScript-da emas? Javob: An'anaviy dasturlash tillarida - C, C ++ yoki Java - kod bajarilishidan oldin tuziladi. Kompilyatsiya paytida kod mashina tomonidan o'qiladigan tasvirga aylantiriladi (va odatda bajarish tezligi uchun optimallashtirilgan). Skript tillari talqin qilinadi, ya'ni brauzer JavaScript-ning har bir satrini duch kelgan zahotiyoq bajaradi. Skript tillari uchun ish vaqti unumdorligi unchalik muhim emas; ular ko'proq prototiplashga, maksimal moslashuvchanlikka ega interaktiv dasturlashga qaratilgan. Bu JavaScript-ning dastlabki versiyalarida sodir bo'lgan, shuning uchun kodni bajarish tezligi ko'p yillar davomida o'rtacha edi. Biroq, oraliq variant bor edi: tez orada tuzilgan talqin qilingan til. Aynan u zamonaviy JavaScript ilovalari uchun brauzer ishlab chiquvchilari tomonidan tanlangan. Asosan, JavaScript-da siz kompilyatsiya qilingan til tezligi bilan birlashtirilgan skript tilining barcha qulayliklaridan foydalanasiz. Aytgancha, sharhlash, hisoblash va bajarish so'zlari ushbu kitobda keng tarqalgan. Ular turli kontekstlarda ma'no jihatidan farq qilishi mumkin, ammo bizning maqsadlarimiz uchun ular aslida ekvivalentdir. keyingi 4 41 JavaScript JavaScript tarixi, siz uzoq yo'lni bosib o'tdingiz, bolam ... JavaScript 1.0 Siz Netscapeni eslay olmaysiz, lekin u birinchi haqiqiy brauzer ishlab chiqaruvchisi edi. 1990-yillarning o'rtalarida bozorda (ayniqsa, Microsoft-dan) shiddatli jang bo'ldi va brauzerga qiziqarli yangi xususiyatlarni qo'shish juda muhim edi. Buning uchun Netscape har kimga sahifaga skript kodini kiritish imkonini beruvchi skript tilini yaratdi. LiveScript shunday tug'ilgan. Ehtimol, siz hech qachon LiveScript haqida eshitmagansiz, chunki bir vaqtning o'zida Sun Microsystems Java tilini taqdim etdi va uning zaxiralari keskin ko'tarildi. Nega birovning muvaffaqiyatidan foydalanmaslik kerak? Shunday qilib LiveScript JavaScript-ga aylandi. Bu tillarda umumiylik yo'qmi? Xo'sh, nima ... Microsoft haqida nima deyish mumkin? Netscape-dan ko'p o'tmay, u o'zining ... JScript deb nomlangan skript tilini yaratdi. Bu qandaydir shubhali tarzda JavaScript-ga o'xshash edi. Brauzer urushlari shunday boshlandi. 1995 42 1-bob JavaScript 1.3 1996 va 2000 yillar orasida JavaScript rivojlanishda davom etdi. Netscape standartlashtirish uchun JavaScript-ni qo'shdi; ECMAScript shunday tug'ilgan. ECMAScript haqida eshitmadingizmi? Bilingki, bu barcha JavaScript ilovalari (brauzerlarda va undan tashqarida) uchun standart til taʼrifi. Bu vaqt mobaynida ishlab chiquvchilar JavaScript bilan kurashishda davom etdilar (brauzer urushlari avjida edi), garchi JavaScript-dan foydalanish keng tarqalgan bo'lsa ham. Va JavaScript va JScript o'rtasidagi nozik farqlar ishlab chiquvchilarning hayotini bezovta qilishda davom etgan bo'lsa-da, vaqt o'tishi bilan ikki til bir-biriga o'xshash bo'lib qoldi. JavaScript hali ham “havaskorlar tili” sifatida obro'ga ega edi, lekin tez orada hammasi o'zgardi ... 2000 JavaScript 1.8.5 Nihoyat, JavaScript yetuklashdi va professional dasturchilarning e'tirofiga sazovor bo'ldi! Ba'zilar gap hozirda barcha zamonaviy brauzerlarda joriy qilingan ishonchli standartning (masalan, ECMAScript 5) paydo bo'lishi bilan bog'liq deb ta'kidlashi mumkin bo'lsa-da, aslida JavaScript-ning professional maydonga kirishiga Google katta hissa qo'shgan. 2005 yilda Google Xaritalar JavaScript dinamik veb-sahifalarni yaratishga qodirligini dunyoga ko'rsatdi. Dasturlash sohasidagi eng yaxshi aql egalari JavaScript tarjimonlarini takomillashtirish va kodni bajarish tezligini oshirish ustida ishladilar. Sintaksis umuman JavaScript-ning evolyutsiyasi davomida ozgina o'zgargan. Uning paydo bo'lishi bilan bog'liq barcha shov-shuvlarga qaramay, JavaScript kuchli va ifodali til ekanligini isbotladi. 2012-yilda javascript bilan tanishish Qo'lingizga qalam oling JavaScript yozish qanchalik oson ekanligini ko'ring var price = 28,99; var chegirma = 10; Siz hali JavaScript-ni bilmaysiz, lekin uning kodi qanday ishlashini hech bo'lmaganda taxminan taxmin qilishingiz mumkin. Har bir qatorni ko'rib chiqing va u nima qilishini taxmin qilishga harakat qiling. Javoblaringizni yozib qoldiring. Ishni boshlashingizga yordam beradigan bitta javobni taqdim etdik. Va agar vazifa juda og'ir bo'lib chiqsa, javoblar keyingi sahifada beriladi. O'zgaruvchan narxni yarating va unga 28,99 qiymatini belgilang. var jami = narx - (narx * (chegirma / 100)); agar (jami> 25) (freeShipping ();) var soni = 10; while (count> 0) (juggle (); count = count - 1;) var dog = (nomi: "Rover", vazni: 35); if (dog.weight> 30) (alert ("WOOF WOOF");) else (alert ("woof woof");) var circleRadius = 20; var circleArea = Math.PI * (circleRadius * circleRadius); keyingi 4 43 mashq yechimi JavaScript yozish qanchalik oson ekanligini ko'ring var price = 28,99; var chegirma = 10; var jami = narx - (narx * (chegirma / 100)); agar (jami> 25) (freeShipping ();) var soni = 10; while (count> 0) (juggle (); count = count - 1;) Qo'lga qalam oling Yechim Siz hali JavaScript-ni bilmaysiz, lekin uning kodi qanday ishlashini hech bo'lmaganda taxminan taxmin qilishingiz mumkin. Har bir qatorni ko'rib chiqing va u nima qilishini taxmin qilishga harakat qiling. Javoblaringizni yozib qoldiring. Ishga kirishishingizni osonlashtirish uchun biz bitta javobni taqdim etdik. Shunday qilib, javoblar. O'zgaruvchan narxni yarating va unga 28,99 qiymatini belgilang. O'zgaruvchan chegirma yarating va uni 10 ga o'rnating. Chegirma narxini hisoblang va uni jami qilib belgilang. Jami o'zgaruvchini va 25 ni solishtiring. Agar o'zgaruvchi kattaroq bo'lsa ... ... freeShipping kod parchasini bajaring. if buyrug'ining oxiri O'zgaruvchini hisoblash va 10 qiymatini belgilash. Hisoblash 0 dan katta bo'lganda ... ... biror narsa qiling va keyin ... ... sonni 1 ga kamaytiring. Davr oxiri Atributlar nomi bilan o'zgaruvchi itni yaratish va vazn. var it = (nomi: "Rover", vazni: 35); if (dog.weight> 30) (alert ("WOOF WOOF");) else (alert ("woof woof");) var circleRadius = 20; var circleArea = Math.PI * (circleRadius * circleRadius); 44 1-bob Agar vazn atributi 30 dan katta bo'lsa ... ... veb-sahifada "WOOF WOOF" xabarini ko'rsating Aks holda ... ... veb-sahifada "woof woof" xabarini ko'rsating. if / else buyrug'i DaireRadius o'zgaruvchisini yarating va uni 20 ga o'rnating. CircleArea ... ... deb nomlangan o'zgaruvchi yarating va ifoda natijasini (1256.6370614359173) belgilang Javascriptning birinchi ko'rinishini belgilang. muntazam statik veb-sahifalar, JavaScript muhim ahamiyatga ega. Va bu haqiqat. HTML va CSS bilan yaratilgan sahifalar yaxshi ko'rinishi mumkin. Ammo JavaScript-ni o'rganganingizdan so'ng, sahifalarning butunlay yangi ta'mini yaratishingiz mumkin. Bundan tashqari, ularni oddiy sahifalar sifatida emas, balki bir vaqtning o'zida ilovalar sifatida ko'rib chiqish to'g'riroq bo'ladi! va podzara nima deysiz? "Albatta, men buni juda yaxshi bilaman, bo'lmasa nega bu kitobni o'qiyman?" Biz bu imkoniyatdan foydalanib, JavaScript-ni o'rganish haqida bir oz gaplashmoqchi edik. Agar biron-bir dasturlash tili yoki skript tilida tajribangiz bo'lsa, sizni nima kutayotganini taxminiy tasavvur qilishingiz mumkin. Agar siz shu paytgacha o'zingizni HTML va CSS bilan cheklagan bo'lsangiz, bilingki, dasturlash tilini o'rganishda sizni tubdan yangi narsa kutmoqda. bot! HTML va CSS da asosan deklarativ operatsiyalar bajariladi. Aytaylik, siz ba'zi paragraf matnlari yoki "sotish" sinfining barcha elementlari qizil rangga bo'yalgan bo'lishi kerakligini e'lon qildingiz. JavaScript sahifaga yangi xatti-harakatlarni qo'shadi va buning uchun siz hisob-kitoblarni tavsiflashingiz kerak. Turli xil operatsiyalarni tasvirlash uchun sizga asboblar kerak bo'ladi: "ballar sonini qo'shish orqali o'yinchining ballini hisoblang" yoki "keyingi harakatni o'n marta takrorlang" yoki "foydalanuvchi ushbu tugmani bosganida, buni o'ynang" ovozli signal", Yoki" Twitter-ga o'ting, so'nggi xabarni oling va uni ushbu sahifaga joylashtiring. Bunday vazifalar uchun talab qilinadigan til HTML va CSS dan juda farq qiladi. Keling, aniq nimani ko'rib chiqaylik ... keyingi 4 45 javascript buyruqlari Buyruqlar qanday yaratiladi HTML kontentini yaratishda siz odatda matnni tuzilishini belgilash orqali belgilaysiz; Buning uchun matnga elementlar, atributlar va qiymatlar qo'shiladi: Mocha kofe latte Espresso, bug'langan sut va shokolad siropi, xuddi o'zingizga yoqqan tarzda. HTML bilan ishlashda biz strukturani aniqlash uchun matnni belgilaymiz: bu erda bizda misol bor, "Ok, bu erda katta sarlavha, undan keyin oddiy matnning paragrafi". CSS bilan ishlar biroz boshqacha. Ishlab chiquvchi qoidalar to'plamini yozadi; har bir qoida sahifa elementlarini tanlaydi va keyin ushbu elementlar uchun uslublar to‘plamini o‘rnatadi: h1.drink () p () rang: jigarrang; selektorlar bilan CSS uchun biz bo'lish qoidalarini yozamiz, def p) va k drin (masalan, h1. L ushbu bo'lim belgilashning qaysi qismlariga tegishli bo'lgan HTM ni qo'llang. Aytaylik, barcha ichimliklar sarlavhalari jigarrang rangda ko'rsatilgan ... ... Va paragraflar serif font-familysiz shriftda ko'rsatiladi: sans-serif;JavaScript kodi buyruqlardan iborat.Har bir buyruq bajariladigan operatsiyaning kichik qismini tavsiflaydi va butun buyruqlar to'plami sahifaning harakatini belgilaydi. : Buyruq set.var age = 25; var name = "Owen"; agar (yosh > 14) (Har bir jamoa ishning kichik qismini bajaradi, masalan, foydalanilgan qiymatlarni saqlaydigan o'zgaruvchilarni e'lon qilish. Biz o'zgaruvchini yaratamiz. yoshni (25) ushlab turish uchun. Bizga “Ouen” nomi uchun ham oʻzgaruvchi kerak. Oʻzgaruvchining qiymati qaror qabul qilish uchun ishlatilishi mumkin. Foydalanuvchining yoshi 14 dan kattami? Ogohlantirish (“Kechirasiz, bu sahifa faqat bolalar uchun! ");) Aks holda () ogohlantirish ("Xush kelibsiz" + ism + "!"); 46 1-bob Va bo'lmasa, biz foydalanuvchini ismi bilan salomlashamiz (ammo , bizning misolimizda Ouen 25 yoshda, shuning uchun soob xabar ko'rsatilmaydi). Agar ko'proq bo'lsa - foydalanuvchi ushbu sahifa uchun juda eski ekanligini ma'lum qilamiz. JavaScript o'zgaruvchilari va qiymatlari bilan ishlashni boshlash Siz o'zgaruvchilar odatda JavaScript dasturlarida qo'llanilishini payqagandirsiz. O'zgaruvchilar qiymatlarni saqlash uchun mo'ljallangan. Qaysilari? Keling, bir nechta misollarni ko'rib chiqaylik: var name = "Duke"; uk e ”isEligible false qiymatiga o‘rnatilgan. O'zgaruvchilar, agar var isEligible = false; Ikki qiymat, haqiqiy va noto'g'ri (to'g'ri / noto'g'ri) mantiqiy (yoki mantiqiy) qiymatlar deb ataladi. “D g'oliblari Belgilar ketma-ketligi o'zgaruvchiga tayinlanadi (bu ketma-ketlik qator deb ataladi). fal se var g'oliblari = 2; 2-jamoa g'oliblar nomi bilan va nomi bilan harakatni e'lon qiladi. Raqamlar, satrlar va mantiqiy qiymatlarga qo'shimcha ravishda o'zgaruvchilar boshqa ma'lumotlarni saqlashi mumkin. Biz ularga qisqa vaqt ichida etib boramiz, lekin ma'lumotlar turidan qat'i nazar, barcha o'zgaruvchilar bir xil qoidalarga muvofiq yaratilgan. O'zgaruvchilar deklaratsiyasini batafsil ko'rib chiqamiz: O'zgaruvchilar deklaratsiyasi har doim var kalit so'zi bilan boshlanadi. Eslatma: Mantiqiy qiymatlar keltirilmagan. HECH ISTISOZLAR YO‘Q! JavaScript-ni o'tkazib yuborganingizdan shikoyat qilmasa ham. Tez orada nima uchun ekanligini bilib olasiz ... Keyin o'zgaruvchining nomi keladi. var g'oliblari = 2; Topshiriq buyrug'i har doim nuqtali vergul bilan tugaydi. Nihoyat, agar xohlasangiz, o'zgaruvchining boshlang'ich qiymatini belgilashingiz mumkin; Buning uchun tenglik belgisini va undan keyin qiymatni qo'ying. Biz "xohlasangiz" deymiz, chunki qat'iy aytganda, siz boshlang'ich qiymatsiz o'zgaruvchini yaratishingiz va uni keyinroq belgilashingiz mumkin. Buning uchun buyruqdan topshiriqni olib tashlash kifoya: var lors; Agar o'zgaruvchi tenglik belgisisiz va qiymatsiz e'lon qilingan bo'lsa, unda siz kelajakda qandaydir tarzda foydalanasiz. Muhim emasmi? Va endi qanday yashash kerak ?! Bu shunchaki kamsituvchi. 47 ta kalit so'z javascriptda yutqazganlar Ogoh bo'ling, kalit so'zlar! O'zgaruvchining nomi va o'zgaruvchining qiymati bor. Bundan tashqari, o'zgaruvchilar raqamlar, satrlar va mantiqiy qiymatlarni (va boshqalarni) saqlashi mumkinligini bilasiz. Ammo o'zgaruvchining nomini qanday tanlash mumkin? Har qanday nom yordam beradimi? Yo'q, lekin haqiqiy nom topish oson. O'zgaruvchi nomi ikkita oddiy qoidani buzmasligiga ishonch hosil qilish kifoya: 1 O'zgaruvchilar nomlari harf, pastki chiziq yoki dollar belgisi bilan boshlanishi kerak. 2 Harflar, raqamlar, pastki chiziq va dollar belgilari har qanday raqamda bo'lishi mumkin. Va yana bir narsa: JavaScript-ni chalkashtirib yubormang va o'zgaruvchilar nomi sifatida var, function yoki false kabi o'rnatilgan kalit so'zlardan foydalaning. Bu nomlar ham ro'yxatdan o'tib ketadi. Ushbu kitobda biz ba'zi kalit so'zlarni ham ko'rib chiqamiz va ularning ma'nosini tushunamiz, ammo hozircha biz qisqa ro'yxat bilan cheklanamiz: break delete uchun super void case yangi o'tish funksiyasini bajarsin, catch esa bu sinf enum bilan paketlansa. amalga oshiradi xususiy throw yield const eksport import himoyalangan rost davom ettiradi ommaviy sinash tuzatuvchi false instanceof return typeof default finally interface static var often Savol: Javob: “Kalit so‘z” nima? Kalit so'z JavaScript tilida zahiralangan so'zlardan biridir. JavaScript bu kabi so'zlarni o'z maqsadlari uchun ishlatadi. Agar siz ularni o'zgaruvchi nomlaringiz sifatida ishlatishni boshlasangiz, siz faqat brauzeringizni chalkashtirib yuborasiz. 48 1-bob Savol: beriladigan savollar Agar kalit so'z o'zgaruvchi nomining bir qismi bo'lsa-chi? Misol uchun, ifOnly nomli o'zgaruvchini (ya'ni, nomida if kalit so'ziga ega bo'lgan o'zgaruvchi) yarata olamanmi? Savol: Albatta mumkin. Faqat aniq o'yinlar taqiqlanadi. Sizning kodingiz sodda va tushunarli bo'lishi ma'qul, shuning uchun elze kabi nomlardan foydalanish ham istalmagan - ularni boshqasi bilan osongina chalkashtirib yuborish mumkin. Savol: JavaScript katta-kichik harflarga sezgirmi? Boshqacha qilib aytganda, myvariable va MyVariable bir xil narsami? Javob: Agar siz HTML belgilash bilan ishlagan bo'lsangiz, katta-kichik harflarni hisobga olmaslikka o'rganib qolgansiz; Axir, brauzer uchun teg dan farq qilmaydi ... Lekin JavaScript oʻzgaruvchilar nomlarida, kalit soʻzlarda, funksiya nomlarida katta-kichik harflarga sezgir... Qisqasi, deyarli hamma joyda. Shuning uchun katta va kichik harflar bilan ehtiyot bo'ling! javascript bilan birinchi tanishish WEBVILLE T I M E S Ismlar bilan zerikarli xatolarni qanday oldini olish mumkin Ismlar tanlovi keng, shuning uchun tavsiyanomada juda ikki boshli nomlar mavjud, biz bir nechtasini beramiz Qanday? To'g'ridan-to'g'ri muvaffaqiyatsiz boshqa qonun. JavaScript shishib ketadimi. harflar bilan ko'p kelishmovchiliklardan bosh harflar avtonomiyasi bilan boshlanadi: har bir so'z ishlatiladi va ismlarning ba'zilari bo'lsa-da: otw oH ea de dD ny, start Ma'noli nomlarni tanlang. baty r reg str »rag on With Fi re. "Biz o'zimizni _ bilan faxrlanamiz, biz n o'qida bo'lamiz deb o'ylamaymiz va Balki _m ismlari siz uchun buning uchun juda muhim bo'lsa, lekin, $ , r. va foo unvon uchun nominativ moslashuvchan narsani anglatadi (ular qachon va qachon kelganlarida, ularning o'zlari hech kim tomonidan tushunilmaydi. di mening gle bir narsa cu rrentBosim va o'tgan Imtihon zarba va boshqa qisqarish emas. Asosan - ehtiyot bo'ling. Biz buni vaqt bilan yozamiz, lekin buni unutmang, lekin "g, registratorga ehtiyot bo'ling", biz ancha moslashuvchan bo'lamiz va tarqatish kodingizni o'zgartirilgan o'zgaruvchilarga aylantiramiz. Iltimos, ularni tanlashda bemalol. (shu jumladan, orqa tomonda biz JavaScript-ni yaratdik) r r e r »Faqat so‘zlardan boshlangan nomlardan foydalaning. Faqat esda tuting: _ va $ bilan nokaut, faqat Access-da, alohida holatlarda. Aniq nomlardan foydalaning, lekin keyin ularni Name so'zlaridagi kalitdan uzoqroqda tanlashingiz kerak va o'zgaruvchining nomi doimo havola qilinadi, $ uchun, odatda kesiladi, boshlanadigan o'zgaruvchini bi uchun uzishda var deb nomlang. b Sintaksis haqida ƒƒ Har bir buyruq “;” belgisi bilan tugaydi. x = x + 1; ƒƒ Bitta satr izohi ikkita qiyshiq chiziq (//) bilan boshlanadi. Sharhlarda faqat siz va boshqa ishlab chiquvchilar uchun kod haqidagi ma'lumotlar mavjud. Ular dasturda bajarilmaydi. // Bu sharh ƒƒ Qo'shimcha joylar ruxsat berilgan (deyarli hamma joyda). x = 2233; ƒƒ Satrlar qoʻsh tirnoq (yoki bitta tirnoq, lekin bittasini tanlang – ketma-ket boʻlsin) ichiga olinishi kerak. "Siz boshqarasiz!" — Siz ham shunday qilasiz! ƒƒ Mantiqiy qiymatlar rost va yolgʻon qoʻshtirnoqsiz yoziladi. rokin = rost; ƒƒ O‘zgaruvchilar e’lon qilinganda ularga qiymat berish shart emas: var width; ƒƒ JavaScript, HTML belgilashdan farqli o'laroq, katta-kichik harflarga sezgir. Boshqacha qilib aytganda, Counter va counter turli xil o'zgaruvchilardir. keyingi 4 49 sintaksis mashqlari Brauzerga BO'LING Quyida xatolarni o'z ichiga olgan JavaScript kodi mavjud. O'zingizni brauzer o'rnida tasavvur qiling va kodingizdagi xatolarni topishga harakat qiling. Ishingiz tugagach, bob oxiridagi javoblarga qarang va biror narsani o‘tkazib yuborayotganingizni bilib oling. A // Hazillar uchun test var joke = "JavaScript barga kirdi ...."; Hozircha ushbu JavaScript snippeti nima qilishi haqida tashvishlanmang; faqat o'zgaruvchilar va sintaksisdagi xatolarni topishga harakat qiling. var saidJoke = "noto'g'ri"; var $ punchline = "Bu nuqta-vergullarga ehtiyot bo'lish yaxshiroqdir." var% entage = 20; var result if (toldJoke = = true) (Alert ($ punchline);) else) alert (hazil); B \\ Movie Night var pochta indeksi = 98104; var joe "sFavoriteMovie = Taqiqlangan sayyora; var movieTicket $ = 9; agar (movieTicket $> = 9) (ogohlantirish (" Juda ko'p! ");) boshqacha () 50 1-bob ogohlantirish (" Biz "ko'ramiz" + joe "sFavoriteMovie); JavaScript-ni ishga tushirish Ifodalar bilan ehtiyot bo'ling! JavaScript-da niyatni ifodalash uchun sizga iboralar kerak. Har bir ifoda baholanadi va natija qiymat bo'ladi. Kod misollarida ifodalarni ko'rdik. Keling, quyidagi iborani ko'rib chiqaylik. quyidagi buyruq: JavaScript buyrug'i hisoblangan natijani total.migSign o'zgaruvchisiga tayinlaydi * kesish uchun ishlarni bajarish uchun ishlatiladi va / - var total = narx - (narx * (chegirma / 100)); Bizning o'zgaruvchimiz total.Assignment. Va bu ifoda.Agar siz hech bo'lmaganda bir marta matematika darslarida qatnashgan bo'lsangiz, balansni jamlagan bo'lsangiz yoki soliq to'lagan bo'lsangiz, ehtimol sizga tanish bo'lgan raqamli iboralarni topasiz.I Min aql muzini hisoblash natijasida), narx ( pr unt), chegirma miqdori uchun (diskoteka x dan berilgan narx narxiga. Agar o'zgaruvchi 10 yoki undan kam bo'lsa. unda chegirma bor - 20, natija 8. eq eq tat bud qatorli iboralar ham mavjud: i "in yangi qator"Azizlar bu satrlar" birlashtirilgan). Name Reader "(bunday operatsiya" Hurmatli "+" O'quvchi "+", "Qiymat bir xil, ammo ifodada. Hisoblashda g ni o'z ichiga olgan tosh qator" supercalifra "super" + "cali" + youKnowTheRest natija ilisticexpialidocious "oldi. * phoneNumber.substring (0,3) Satrni qaytaruvchi ifodaning yana bir misoli. Uning qanday ishlashi keyinroq tushuntiriladi, ammo hozircha bu ifoda hudud kodini qaytaradi, deb aytish kifoya. telefon raqamidan.to'g'ri yoki noto'g'ri bo'lishi (to'g'ri yoki noto'g'ri);bu ifodalar mantiqiy (yoki mantiqiy) deb ataladi.Quyidagi ifodalarning har biri uchun qaysi natija (to'g'ri yoki noto'g'ri) olinishini aniqlang: yosh< 14 Если возраст (age) меньше 14, то результат равен true; в противном случае он равен false. Команда проверяет возраст пользователя. cost > = 3,99 hayvon = = "ayiq" Agar ob'ektning narxi 3,99 dan katta yoki unga teng bo'lsa, ifoda to'g'ri. Aks holda, bu yolg'ondir. Savdoni o'tkazib yubormang! To'g'ri, agar hayvon nomida "ayiq" so'zi mavjud bo'lsa. Ifodaning natijasi boshqa turdagi qiymat bo'lishi mumkin; bu mavzuga keyinroq qaytamiz. Shu bilan birga, shuni bilish kerakki, har qanday ifodani baholashda ma'lum bir natija - raqam, qator yoki mantiqiy ifoda olinadi. Bu bizga nima beradi? * YouKnowTheRest "fragilisticexpialidocious" qatorini o'z ichiga oladi deb taxmin qilinadi. keyingi 4 51 ifoda mashqlari Qo‘lingga qalam ol Qalam ol. Yuqoridagi iboralarning har biri uchun uning qiymatini hisoblang va belgilangan joyga yozing. Aynan YOZING... onangizning kitoblarga yozmaslik haqidagi gaplarini unutib, javobni sahifaga yozing! Javoblarni bob oxirida tekshirishingiz mumkin. Haroratni Selsiydan Farengeytga o'tkazish uchun kalkulyatormi? (9/5) * temp + 32 mantiqiy ifoda. == operatori ikkita qiymat teng ekanligini tekshiradi. rang == "to'q sariq" nom + "," + "siz" yutdingiz! "yourLevel> 5 Tekshiring:" Birinchi qiymat ikkinchisidan kattami? " “Birinchi qiymat ikkinchidan kattami yoki tengmi?” sharti uchun> = operatoridan foydalanishingiz mumkin. (daraja * ball) + bonus rang! = "to'q sariq" Agar harorat 10 bo'lsa nima bo'ladi? __________ Agar rangda "pushti" qiymati bo'lsa, bu ibora to'g'rimi yoki noto'g'rimi? __________ Va agar qiymat "to'q sariq" bo'lsa? __________ qanday qiymat nima? Agar nomda "Marta" qatori bo'lsa nima bo'ladi? __________________________________ Agar yourLevel = 2 bo'lsa nima bo'ladi? ________ yourLevel = 5 bo'lsa nima bo'ladi? ________ Agar sizning darajangiz = 7 bo'lsa nima bo'ladi? ________ Daraja = 5, ball = 30000 va bonus = 3300. Nima bo'ladi. Hisoblash natijasi? ________ Agar oʻzgaruvchan rangda “pushti” qatori boʻlsa, bu ifoda rostmi yoki notoʻgʻri boʻladimi? __________! = operatori ikkita qiymat TENG EMASligini tekshiradi. Koʻtarilgan ball savoli! 1000 + “108” 52 1-bob Bir nechta javob bor, ulardan faqat bittasi to'g'ri, qaysi birini tanlaysiz? va siz o'zgaruvchiga qiymat berasiz, bitta tenglik belgisini qo'ying = va ikkita qiymat bir xilligini tekshirganingizda ikkita == belgisini qo'yasiz. Ajam dasturchilar ko'pincha bu operatorlarni chalkashtirib yuborishadi. javascript bilan birinchi tanishuv (jungling) () keepBallsInAir (); Amaliyotlarning takroriy bajarilishi Biz tez-tez bir xil operatsiyalarni takrorlashimiz kerak: Chayish, tupurish, takrorlash. Yana bir qoshiq ovqatlaning. Va keyin boshqa. Qutidan shakarlamalar tugaguncha oling. Albatta, dasturlarda operatsiyalar ham takrorlanishi kerak. JavaScript kodni qayta bajarish uchun bir nechta sintaktik konstruksiyalarni taqdim etadi: while, for, for in va forEach. Vaqt o'tishi bilan biz barcha turdagi halqalarni ko'rib chiqamiz, ammo hozircha biz while ga e'tibor qaratamiz. Biz yaqinda mantiqiy natijaga baho beradigan iboralarni ko'rib chiqdik (masalan, scoops> 0). Bunday iboralar while gaplarida asosiy rol o‘ynaydi: while sikli while kalit so‘zi bilan boshlanadi. while siklida davom etish sharti (yoki shunchaki shart) deb ataladigan mantiqiy ifoda mavjud. Agar sikl sharti rost bo'lsa, u holda butun dastur bloki bajariladi. while (scoops> ");) scoops = scoops - 1; Agar shart rost bo'lsa, u holda dastur bloki bajarilgandan so'ng, u tsiklning boshiga qaytadi va hamma narsa yana takrorlanadi. Agar shart noto'g'ri bo'lsa, tsikl tugaydi. Jingalak qavslar ichiga olingan "dastur bloki" nima? uning bajarilishini diqqat bilan ko'rib chiqing va uning qanday ishlashini yaxshilab tushunib oling. scoops o'zgaruvchisi deklaratsiyasini qo'shing va uni 5 ga ishga tushiring. Kod bajarila boshlaydi. Birinchidan, qoshiqlar (muzqaymoq to'plari) 5 ga o'rnatiladi. var scoops = 5; while ( scoops> 0) (document.write ("Yana bir qoshiq! "); qoshiq = qoshiq - 1;) document.write (" Muzqaymoqsiz hayot "bir xil emas"); Keyin dastur while buyrug'iga o'tadi. while buyrug'i birinchi marta bajarilganda, dastur birinchi navbatda uning holatini tekshiradi - bu haqiqatmi yoki noto'g'ri? Scoops qiymati var scoops = 5; Noldan yuqorimi? Shubhasiz! while (choplar> 0) (document.write ("Yana bir qoshiq! "); qoshiq = qoshiq - 1;) document.write (" Muzqaymoqsiz hayot "bir xil emas"); Shart rost bo'lgani uchun dastur blokining bajarilishi boshlanadi. Loopning asosiy qismidagi birinchi buyruq qatorni aks ettiradi “Boshqa bir qoshiq! ”. var scoops = 5; while (choplar> 0) (document.write ("Yana bir qoshiq! "); qoshiq = qoshiq - 1;) document.write (" Muzqaymoqsiz hayot "bir xil emas"); 54 1-bob javascript bilan birinchi tanishish Quyidagi buyruq scoops ning joriy qiymatini 1 ga kamaytiradi va natijani (4) bir xil o'zgaruvchan scoopsga belgilaydi. 1 to'p yeyildi, 4 tasi qoldi! var scoops = 5; while (choplar> 0) (document.write ("Yana bir qoshiq! "); qoshiq = qoshiq - 1;) document.write (" Muzqaymoqsiz hayot "bir xil emas"); Bu blokdagi oxirgi buyruq. Tsikl boshiga qaytadi va hamma narsa yana takrorlanadi. var scoops = 5; while (choplar> 0) (document.write ("Yana bir qoshiq! "); qoshiq = qoshiq - 1;) document.write (" Muzqaymoqsiz hayot "bir xil emas"); Vaziyat yana tekshiriladi; bu safar qoshiqlar 4. Lekin qoshiqlar kamaygan bo'lsa-da, u hali ham noldan katta. Yana ko'p bor qoshiq = 5; chap! while (qoshiqlar> 0) (document.write ("Yana bir qoshiq! "); qoshiq = qoshiq - 1;) document.write (" Muzqaymoqsiz hayot "bir xil emas"); Va yana “Yana bir qoshiq! ”. var scoops = 5; while (choplar> 0) (document.write ("Yana bir qoshiq! "); qoshiq = qoshiq - 1;) document.write (" Muzqaymoqsiz hayot "bir xil emas"); yana 4 55 Javascriptda while loop Quyidagi buyruq scoops ning joriy qiymatini 1 ga kamaytiradi va natijani (3) bir xil o'zgaruvchan scoopsga belgilaydi. var scoops = 5; while (qoshiqlar> 0) (document.write ("Yana bir qoshiq! "); qoshiq = qoshiq - 1;) document.write (" Muzqaymoqsiz hayot "bir xil emas"); Bu blokdagi oxirgi buyruq; dastur holatga qaytadi va hamma narsa yana takrorlanadi. var scoops = 5; while (qoshiqlar> 0) (document.write ("Yana bir qoshiq! "); qoshiq = qoshiq - 1;) document.write (" Muzqaymoqsiz hayot "bir xil emas"); Vaziyat yana tekshiriladi, qoshiqlar 3. U hali ham noldan katta. To'plar hali ham bor scoops = 5; qoldi! while (qoshiqlar> 0) (document.write ("Yana bir qoshiq! "); qoshiq = qoshiq - 1;) document.write (" Muzqaymoqsiz hayot "bir xil emas"); “Yana bir qoshiq! ”. var scoops = 5; while (choplar> 0) (document.write ("Yana bir qoshiq! "); qoshiq = qoshiq - 1;) document.write (" Muzqaymoqsiz hayot "bir xil emas"); 56 ta 1-bob 2 ta to'p ketdi, 3 tasi qoldi! javascript bilan birinchi tanishish Hamma narsa qayta-qayta davom etadi: siklning har bir bajarilishi bilan qoshiqlar 1 ga kamayadi, brauzerda keyingi qator ko'rsatiladi va dastur keyingi doiraga kiradi. 3 ta to'p yedi, 2 tasi qoldi! var scoops = 5; while (qoshiqlar> 0) (document.write ("Yana bir qoshiq! "); qoshiq = qoshiq - 1;) document.write (" Muzqaymoqsiz hayot "bir xil emas"); Va davom etmoqda ... 4 ta to'p yeydi, 1 tasi qoldi! var scoops = 5; while (qoshiqlar> 0) (document.write ("Yana bir qoshiq! "); qoshiq = qoshiq - 1;) document.write (" Muzqaymoqsiz hayot "bir xil emas"); Oxirgi martagacha ... lekin hozir nimadir o'zgardi. Scoops nolga teng va shart noto'g'ri. Hammasi shu erda tugaydi; pastadir endi ishlamasligi kerak. Bu safar dastur blokni chetlab o'tadi va undan keyingi buyruqni bajaradi. 5 ta to'p yeyildi, 0 tasi qoldi! var scoops = 5; while (qoshiqlar> 0) (document.write ("Yana bir qoshiq! "); qoshiq = qoshiq - 1;) document.write (" Muzqaymoqsiz hayot "bir xil emas"); Keyingi buyruq document.write ni bajaradi va "Muzqaymoqsiz hayot bir xil emas" qatorini ko'rsatadi. Tayyor! var scoops = 5; while (qoshiqlar> 0) (document.write ("Yana bir qoshiq! "); qoshiq = qoshiq - 1;) document.write (" Muzqaymoqsiz hayot "bir xil emas"); yana 4 57 shartli javascript buyruqlar if (cashInWallet> 5) (buyurtma = “Bunday davom eting: cheeseburger, kartoshka va kola”;) else (buyurtma = “Men bir stakan suv olaman”;) JavaScript-da qaror qabul qilish Siz Shartli ifodaning while tsikli davom etishi yoki davom etmasligini hal qilish uchun qanday ishlatilishini allaqachon ko'rganman. Mantiqiy ifodalar JavaScript buyruqlarida if yordamida qaror qabul qilish uchun ham ishlatilishi mumkin. If operatori o'zining dastur blokini faqat tekshirilayotgan shart rost bo'lsagina bajaradi. Misol: ikkinchisidan keyin if ovo, keyin esa keyingi. har qanday ok C ogram bl holati va hokazo. Bu shart uchtadan kam muzqaymoq to'pi qolgan yoki yo'qligini tekshiradi. agar (qoshiqlar< 3) { } alert("Ice cream is running low!"); И если осталось меньше трех, выполняется программный блок команды if. Функция alert получает строку и выводит ее во всплывающем окне браузера. Попробуйте! Команда if позволяет последовательно выполнить несколько проверок; для этого добавляется одна или несколько секций else if: одно условие, если оно Сначала проверяется оверяется другое, не выполняется, то пр if (scoops >= 5) (if / else da ko'rsatilgan: ogohlantirish ("Tezroq ovqatlaning, muzqaymoq eriydi!");) Aks holda (qoshiqlar)< 3) { } alert("Ice cream is running low!"); 58 глава 1 Добавьте столько дополнит ельных проверок “else if”, сколько вам нужно; с каждым условием связывается свой програ ммный блок, выполняющийся в случае его истинности. первое знакомство с javascript А если нужно принять МНОГО решений... Вы можете объединить сколько угодно команд if/else. Также можно добавить завершающую секцию else; если ни одно условие не выполняется, вы сможете обработать и эту ситуацию, как в следующем примере: if (scoops >= 5) (Birinchidan, biz besh yoki undan ortiq to'p muzqaymoq qolganligini tekshiramiz ... ogohlantirish ("Tezroq ovqatlaning, muzqaymoq eriydi!"); ... Yoki to'liq uchta to'p qolsa. ... ogohlantirish (" Muzqaymoq kamayib bormoqda! ");) Aks holda (qoshiqlar = = 3) () boshqacha bo'lsa (qoshiqlar = = 2) (ogohlantirish (" Bir marta ketmoqda! "); ... Yoki mavjud bo'lsa 2, 1 yoki 0 ball qoldi... Har bir holatda mos keladigan signal chiqariladi.) Aks holda (qoshiqlar = = 1) (ogohlantirish ("Ikki marta ketmoqda!");) Aks holda (qoshiqlar = = 0) ( Agar oldingi shartlarning hech biri to'g'ri bo'lmasa, bu kod ogohlik ("Kotdi!");) boshqa () Savol: A: ogohlantirish ("Hali ko'p muzqaymoq qoldi, keling va oling."); Tez-tez so'raladigan savollar "Dasturlash bloki" nima? Sintaksis darajasida dastur bloki (odatda oddiy blok deb ataladi) jingalak qavslar ichiga olingan bir yoki bir nechta buyruqlar to'plamidir. Barcha blok buyruqlar bir butun sifatida bajariladigan guruhni tashkil qiladi. Masalan, agar holatida rost bo'lsa, u holda blokdagi barcha buyruqlar bajariladi. Bu if yoki else if bloklariga ham tegishli. Savol: Men shart bitta o‘zgaruvchidan iborat bo‘lgan kodni ko‘rdim va bu o‘zgaruvchi hatto mantiqiy qiymatni emas, balki satrni o‘z ichiga oladi. U qanday ishlaydi? Javob: Bu mavzu biroz keyinroq yoritiladi, ammo qisqacha aytganda - JavaScript haqiqat yoki noto'g'ri qiymatlarni hisobga olishda etarlicha moslashuvchan. Masalan, (bo'sh bo'lmagan) qatorni o'z ichiga olgan har qanday o'zgaruvchi rost, hali qiymat berilmagan o'zgaruvchi esa yolg'on deb hisoblanadi. Kutib turing, biz bu masalani tez orada batafsil yoritamiz. Savol: Siz ifoda natijasi nafaqat raqamlar, satrlar yoki mantiqiy qiymatlar, balki boshqa narsa ham bo‘lishi mumkinligini aytdingiz. Aynan nima? Javob: Hozircha biz ibtidoiy turlar bilan cheklanamiz: raqamlar, satrlar va mantiqiy. Ammo vaqt o'tishi bilan biz murakkabroq turlarga kiramiz: massivlar (qiymatlar to'plami), ob'ektlar va funktsiyalar. Savol: "Boolean qiymatlari" nomi (mantiqiy qiymatlarning boshqa nomi) qayerdan paydo bo'lgan? Javob: Bu ingliz matematigi, mantiqiy mantiqning yaratuvchisi Jorj Bul nomidan kelib chiqqan. ko'proq 4 59 Magnitlar bilan qiziqarli Magnitlar bilan qiziqarli JavaScript parchalari bo'lgan magnitlar chigal. Quyidagi natijalarni ishlab chiqaradigan ishlaydigan JavaScritp dasturini olish uchun ularni tartibga sola olasizmi? O'qishdan oldin bobning oxiridagi javoblarni tekshiring. Ishlaydigan JavaScript dasturini yaratish uchun magnitlarni joyiga joylashtiring. document.write ("Tug'ilgan kuningiz bilan azizim" + ism + ", "); document.write (" Tug'ilgan kuningiz bilan. "); var i = 0; i = i + 1; var name =" Jo ";) document.write (" Tug'ilgan kuningiz bilan. "); esa (ya'ni< 2) { Расставьте магниты в этой области. 60 глава 1 Восстановленная программа должна выдавать этот результат. первое знакомство с javascript Привлекайте пользователя к взаимодействию со страницей Мы говорили о том, как важно повысить уровень интерактивности страниц и что для этого необходимо взаимодействие с пользователем. Это взаимодействие можно организовать несколькими способами; некоторые из них уже встречались вам. Ниже приведена краткая сводка таких взаимодействий, а потом мы рассмотрим их более подробно. Создание сигнала Браузер поддерживает простейший механизм оповещения пользователей при помощи функции alert. Вызовите alert со строкой, содержащей сообщение, и браузер выведет ее в симпатичном диалоговом окне. Честно говоря, мы немного злоупотребляли этой функцией, она очень проста и удобна; но ее следует применять только тогда, когда вы действительно хотите, чтобы пользователь отложил все дела и немедленно ознакомился с вашим сообщением. Прямая запись в документ Эти три способа встречаются в данной главе. Веб-страницу можно рассматривать как документ (именно так ее называет браузер). Функция document.write позволяет вывести произвольную разметку HTML и контент в произвольной точке страницы. Так поступать не рекомендуется, хотя время от времени этот способ все же применяется. Мы воспользовались, потому что он достаточно прост для изучения JavaScript. Вывод на консоль В каждой среде JavaScript существует консоль, на которую можно выводить сообщения из программного кода. Чтобы вывести сообщение на консоль, вызовите функцию console.log и передайте ей строку (вскоре мы рассмотрим работу с консолью более подробно). Функция console.log - ajoyib vosita diagnostika va disk raskadrovka. Biroq, oddiy dasturda konsol chiqishi foydalanuvchidan yashiringan, shuning uchun bu mexanizm samarali deb atash qiyin. Konsol kodingizdagi xatolarni topish uchun qulay vositadir! Agar siz xato kiritsangiz (masalan, iqtibosni o'tkazib yuborgan bo'lsangiz), JavaScript odatda xato tavsifini konsolda chop etadi, bu esa uni topishni osonlashtiradi. Hujjatni to'g'ridan-to'g'ri o'zgartirish Sahifa va foydalanuvchilar bilan o'zaro aloqa qilishning asosiy usuli - bu JavaScript vositalari bo'lib, ular sizga veb-sahifani belgilashga kirish, uning mazmunini o'qish va o'zgartirish, hatto tuzilishi va uslubini o'zgartirish imkonini beradi! Ushbu operatsiyalarning barchasi hujjat ob'ekt modeli orqali amalga oshiriladi (pastga qarang). Tez orada ko'rib turganingizdek, bu eng yaxshi foydalanuvchi tajribasi. Biroq, hujjat ob'ekt modeli bilan ishlash uchun siz sahifaning tuzilishini bilishingiz kerak va dasturiy interfeys sahifani o'qish va yozishda ishlatiladi. Biz bu mavzuga tez orada yetib boramiz, lekin avval siz yana bir qancha JavaScript-ni o'zlashtirishingiz kerak. Biz intilayotgan ezgu maqsad. Unga etib borganingizdan so'ng siz sahifani o'qishingiz, uni o'zgartirishingiz va uning mazmuni bilan har qanday manipulyatsiyani amalga oshirishingiz mumkin bo'ladi. keyingi 4 61 javascript chiqish solishtirish Kim nima qiladi? ae ae Barcha o'zaro ta'sir vositalari maskaradga keldi. Siz ularni niqob ostida taniy olasizmi? O'ngdagi tavsiflarni chap ustundagi nomlar bilan birlashtiring. Biz siz uchun bitta chiziq chizdik. document.write Men darhol foydalanuvchi nima qilayotganini to'xtatib, qisqa xabar beraman. Davom etish uchun foydalanuvchi "OK" tugmasini bosishi kerak. console.log Men hujjatga HTML va matn belgilarining kichik qismlarini qo'shishni yaxshi bilaman. Men foydalanuvchiga ma'lumot etkazishning eng oqlangan usuli bo'lmasligim mumkin, lekin men barcha brauzerlarda ishlayman. ogohlantirish Mening yordamim bilan siz veb-sahifani to'liq nazorat qila olasiz: foydalanuvchi tomonidan kiritilgan ma'lumotlarni qabul qilish, HTML belgilarini va uslublarini o'zgartirish, sahifa mazmunini yangilash. hujjat ob'ekt modeli 62 1-bob Men faqat oddiy disk raskadrovka vazifalari uchun mavjudman va ma'lumotni ishlab chiquvchilar uchun mo'ljallangan maxsus konsolga chiqarishga ruxsat beraman. javascript bilan birinchi tanishish console.log bilan yaqindan tanishish Keling, console.log funksiyasi qanday ishlashini ko'rib chiqamiz. Biz undan ushbu bobda ishlaydigan kod natijalarini ko'rish uchun va kitobning boshqa boblarida chiqishni tahlil qilish va disk raskadrovka qilish uchun foydalanamiz. Ammo shuni yodda tutingki, konsol ko'pchilik oddiy veb-foydalanuvchilar uchun yashirin qoladi, shuning uchun uni veb-sahifaning oxirgi versiyasida ishlatish tavsiya etilmaydi. Konsol chiqishi odatda sahifani ishlab chiqishda diagnostika uchun ishlatiladi. Shuningdek, u JavaScript-ning asosiy konstruksiyalarini o‘rganganingizda kodingizda nima sodir bo‘layotganini ko‘rishga yordam beradi. Bu shunday ishlaydi: Har qanday satrni oling ... var message = "Howdy" + "" + "partner"; console.log (xabar); ... va uni console.log saytiga o'tkazing. Satr brauzer konsoliga chiqariladi. Konsol ilovangizdagi console.log ga qo'ng'iroqlar orqali chiqadigan barcha ma'lumotlarni o'z ichiga oladi. tez-tez Savol: Men console.log dan satrlarni chiqarish uchun foydalanish mumkinligini tushunaman, lekin baribir bu nima? Nima uchun "konsol" va "jurnal" nuqta bilan ajratilgan? Javob: Yaxshi savol. Biz o'zimizdan biroz oldinga ketyapmiz, lekin konsolni turli operatsiyalarni bajaradigan ob'ekt (konsol) deb tasavvur qiling. Ushbu vazifalardan biri ma'lumotlarni konsolga chiqarishdir. Konsolga ushbu operatsiyani bajarishni aytish uchun biz "console.log" sintaksisidan foydalanamiz va chiqish qiymatini qavs ichiga kiritamiz. Buni eslang; ob'ektlar ushbu kitobda batafsilroq muhokama qilinadi. Hozircha faqat console.log dan foydalana olish kifoya. Savol: Konsol oddiy chiqishdan boshqa biror narsa qiladimi? Javob: Ha, lekin ko'pincha u normal chiqish uchun ishlatiladi. Chiqishdan (va konsoldan) foydalanishning bir qancha boshqa usullari mavjud, ammo ular brauzerga xosdir. Konsol barcha zamonaviy brauzerlar tomonidan qo'llab-quvvatlanadi, lekin hech qanday rasmiy spetsifikatsiyada belgilanmagan. Savol: Javob: Bularning barchasi, albatta, yaxshi, lekin
Источник: https://shongames.ru/uz/redaktory/izuchaem-programmirovanie-na-javascript-epub-izuchaem-programmirovanie/
Do'stlaringiz bilan baham: |
|
|