JavaScript-ի հիմնական դասագիրք
Հիմունքներ
Ներածություն
JavaScript-ի գործարկում
Առաջին ծրագիրը JavaScript-ով
Ծրագրի կոդի վերլուծություն
Հաջորդ օրինակները
Սկրիպտներով ֆայլեր
Մի քանի ֆայլ
Ծանոթություն
Ֆայլերի քեշավորում
Խիստ ռեժիմ
Մեկնաբանություններ
Փոփոխականներ
Փոփոխականների օգտագործում
Մի քանի փոփոխականի հայտարարում
Փոփոխականների արժեքների փոփոխություն
Մի քանի let մեկ փոփոխականի համար
Մաթեմատիկական գործողություններ թվերով
Մաթեմատիկական գործողություններ փոփոխականներով
Մաթեմատիկական գործողությունների առաջնահերթություն
Հավասար առաջնահերթություն
Խմբավորող փակագծեր
Կոտորակներ
Բացասական թվեր
Պլյուս փոփոխականներից առաջ
Բաժանման մնացորդ
Աստիճան բարձրացնելը
Աստիճան բարձրացնելու առաջնահերթություն
Տողեր
Տողերի գումարում
Տողի երկարություն
Կաղապարային տողեր
Բազմատողություն
Հատուկ արժեքներ
Undefined արժեք
Null արժեք
True և false արժեքներ
NaN արժեք
Infinity և -Infinity
Կոնսոլ
Տվյալների տիպ կոնսոլում
Սխալներ կոնսոլում
Կոնստանտներ
Տիպերի ավտոմատ ձևափոխում
Թվի ձևափոխում
Թվի կարճ ձևափոխում
Ոչ ճիշտ թվերի ձևափոխում
Թվերի առանձնացում
Տողի ձևափոխում
Տողի ձևափոխման կիրառում
Լոգիկական տիպի ձևափոխում
Լոգիկական տիպի ձևափոխում
Տողի սիմվոլներ
Տողերի անփոփոխելիություն
Տողի վերջին սիմվոլը
Թվանշաններով տողեր
Թվի թվանշաններին դիմելը
Փոփոխականը փոխելու գործողություններ
Կրճատ գործողություններ JavaScript-ում
Ինկրեմենտացիա
Նախածանցային և վերջածանցային տիպ
Ոչ ճշգրիտ հաշվարկներ
Prompt ֆունկցիա
Տիպերի խնդիր prompt-ում
Ելք դոկումենտում
Սխալներ գտնելու պրակտիկա
Գործողությունների պրակտիկա
Բանաձևերի պրակտիկա
Զանգվածներ
Ներածություն զանգվածների մասին
Տարրերի ստացում
Զանգվածի երկարությունը
Տարրերի փոփոխում
Զանգվածի տարրերի վերագրանցում
Տարրերի ինկրեմենտացիա
Տարրերի ավելացում բանալիներով
Հազիվանդ զանգվածներ
Տարրերի ավելացում push-ի միջոցով
Բանալիներ փոփոխականներից
Delete օպերատորը
Սխալների որոնման պրակտիկա
Օբյեկտներ
Ներածություն օբյեկտների մասին
Ամբողջ օբյեկտի ցուցադրում
Օբյեկտների տողային բանալիներ
Օբյեկտների հատկություններ
Սահմանափակումներ օբյեկտների բանալիների վրա
Տարրերի փոփոխում
Տարրերի ավելացում
Օբյեկտների անհերթականություն
Օբյեկտի բանալիների զանգված
Օբյեկտի երկարություն
Բանալիներ փոփոխականներից
Տարրին դիմելու սխալ
Հատկությանը դիմելու սխալ
Հաշվարկվող հատկություններ
In օպերատոր
Delete օպերատոր
Օբյեկտների տիպավորում
Զանգվածներ որպես օբյեկտներ
Տարբերակում ենք զանգվածները օբյեկտներից
Օբյեկտներ և պրիմիտիվներ
Օբյեկտների փոխանցում հղումով
Կոնստանտներ
Ծրագրավորման մոտեցում կոնստանտների միջոցով
Սխալների որոնման պրակտիկա
Պայմաններ
if-else կառուցվածքը
Մեծ և փոքր օպերատորները
Հավասարության ստուգում
Անհավասարության ստուգում
Փոփոխականների համեմատում
Տողերի հավասարություն
Տողերի և թվերի հավասարություն
Արժեքով և տիպով հավասարություն
Արժեքով և տիպով անհավասարություն
Լոգիկական Եվ
Լոգիկական Կամ
Լոգիկական օպերատորների նախապատվությունը
Պայմանների խմբավորում
Լոգիկական արտահայտությունների հակադարձում
Բուլյան արժեքներով պայմաններ
Բուլյան տիպի արժեքների համեմատում
Ճշմարտության ստուգման կրճատ ձև
Կեղծիքի ստուգման կրճատ ձև
Ստուգման ընդհանուր կրճատ ձև
Բարդ պայմաններ կրճատ ձևով
else կառուցվածքի ոչ պարտադիր լինելը
Փակագծերի ոչ պարտադիր լինելը
Փակագծերի ոչ պարտադիր լինելու խնդիրը
else if կառուցվածքը
Ծածկված if-else կառուցվածքներ
switch-case կառուցվածքը
break-ի ոչ պարտադիր լինելը
Տերնար օպերատորը
Լոգիկական գործողություններ
confirm ֆունկցիան
Տեսանելիության տիրույթ
Տեսանելիության տիրույթի նրբություններ
Ժամի մասերի ստուգում
Տողերի և զանգվածների երկարության ստուգում
Տողի նիշերի ստուգում
Թվի թվանշանների ստուգում
Բաժանման մնացորդի ստուգում
Սխալներ գտնելու պրակտիկա
Պրակտիկա
Ցիկլեր
Ներածություն
For-of ցիկլ
For-in ցիկլ
While ցիկլ
For ցիկլ
For ցիկլ զանգվածների համար
Պայմաններ ցիկլերում
Թվերի գումարի կուտակում
Տարրերի գումարի կուտակում
Տողերի ձևավորում
Թվի թվանշաններ
Ճաղավանդակային փակագծերի ոչ պարտադիր լինելը
Փակագծերի ոչ պարտադիր լինելու խնդիրը
Break հրահանգ
Continue հրահանգ
Ծածկված ցիկլեր
Տեսանելիության տիրույթ
Ծածկված ցիկլեր և տեսանելիության տիրույթ
Զանգվածների լցոնում
Զանգվածների փոփոխում
Օբյեկտների լցոնում
Օբյեկտների փոփոխում
Դրոշների հետ աշխատանք
Ծրագրավորման խորհուրդներ
Կոդի վրիպազերծման խորհուրդներ
Սխալների որոնման պրակտիկա
Պրակտիկա
Բազմաչափություն
Բազմաչափ զանգվածներ
Եռաչափ զանգված
Կամայական զանգվածներ
Բազմաչափ զանգվածների փոփոխություն
Փոփոխություն սովորական for-ի միջոցով
Բազմաչափ զանգվածների լցոնում
Խնդիրներ բազմաչափ զանգվածների լցոնման ժամանակ
Բազմաչափ զանգվածների լցոնում ըստ հերթականության
Բազմաչափ օբյեկտներ
Բազմաչափ օբյեկտների փոփոխություն
Բազմաչափ կառուցվածքներ
Բազմաչափ կառուցվածքների փոփոխություն
Օբյեկտների զանգված
Բանալիներ փոփոխականներից
Տարրերի ավելացում զանգվածներում
Տարրերի ավելացում օբյեկտներում
Ստանդարտ մեթոդներ
Աստիճաններ
Կլորացման ֆունկցիաներ
Էքստրեմումներ
Ռանդոմ
Մոդուլներ
Սիմվոլների ռեգիստր
Տողերի կտրում
Որոնում տողերում
Փոխարինում տողերում
Տողերի բաժանում
Վերջնական էլեմենտներ
Զանգվածների մասեր
Զանգվածների կտրում
Որոնում զանգվածներում
Օբյեկտների բանալիներ
Սխալներ գտնելու պրակտիկա
Օգտագործողի ֆունկցիաներ
Ներածություն
Ֆունկցիայի պարամետրեր
Մի քանի պարամետր
Փոփոխական պարամետրեր
Լրացուցիչ պարամետրեր
Return հրահանգ
Ֆունկցիաների հաջորդական կանչ
Return-ի նրբություն
Ցիկլ և return
Return-ի կիրառում ցիկլերում
Return-ի հետ աշխատանքի մեթոդ
Դրոշներ ֆունկցիաներում
Լոգիկական օպերատորներ ֆունկցիաներում
Խորհուրդներ ֆունկցիաների վերաբերյալ
Սխալների որոնման պրակտիկա
Պրակտիկա ֆունկցիաների վերաբերյալ
Ֆունկցիաների փոփոխականներ
Գլոբալ փոփոխականներ
Լոկալ փոփոխականներ
Փոփոխականների անունների համընկնում
Գլոբալ փոփոխականների փոփոխում
Գլոբալ փոփոխականներ և ֆունկցիաների պարամետրեր
Անունների համընկնում պարամետրերի հետ
Օբյեկտ-պարամետրեր
Ֆունկցիաների տեսակները
Ֆունկցիայի սկզբնական կոդը և արդյունքը
Ֆունկցիան որպես փոփոխական
Ֆունկցիայի գրառումը մեկ այլ փոփոխականում
Ֆունկցիաների վերագրումը փոփոխականներին
Ֆունկցիայի և փոփոխականի անվան համընկնում
Հայտարարումների տեսակները
Ֆունկցիայի հայտարարումների տարբերությունը
Ստորակետ ֆունկցիաների հայտարարումիս
Ֆունկցիոնալ արտահայտությունների նրբությունները
Անունով ֆունկցիա, բայց Function Expression
Անվանված ֆունկցիոնալ արտահայտություններ
Ինչպես ստուգել ֆունկցիայի տեսակը
Արտահայտությունը ձախից
Արտահայտությունը աջից
Զանգված ֆունկցիաներով
Օբյեկտ ֆունկցիաներով
Ֆունկցիաներով օբյեկտի կիրառումը
Ծածկագրված ֆունկցիաներ
Ֆունկցիաների փոխանցումը պարամետրերով
Անվանված ֆունկցիաներ
Փոխանցվող ֆունկցիաների պարամետրեր
Թվի փոխանցումը պարամետրով
Կիրառում
Ներքին ֆունկցիաներ
Ծածկագրված ֆունկցիաների տեսանելիության տիրույթ
Արտաքին ֆունկցիայի պարամետրեր
Արտաքին և ներքին ֆունկցիաների պարամետրեր
Նույնանուն պարամետրեր
Ֆունկցիա, որ վերադարձնում է ֆունկցիա
Ծածկագրման ցանկացած մակարդակ
Վերադարձվող ֆունկցիայի պարամետրեր
Կոլբեք ֆունկցիաներ
Կոլբեքների նրբություններ
Սլաքային ֆունկցիաներ
Սլաքային ֆունկցիաների կիրառում
սինխ. թարգմանության հետ
Փակումներ
Մուտք դեպի արտաքին փոփոխականներ
Ֆունկցիաների լեքսիկական միջավայր
Լեքսիկական միջավայրի կիրառումը
Ներածություն փակումների մասին
Հաշվիչ փակումների միջոցով
Նյուանս՝ տեղական փոփոխական
Նյուանս՝ գլոբալ փոփոխական
IIFE
Ֆունկցիայի անմիջական կանչ
Ֆունկցիայի վերագրում փոփոխականին
Ֆունկցիայի անմիջական կանչի կիրառումը
Կլոր փակագծեր
Պարամետրեր
Բազմակի կանչեր
Խորտակման վտանգներ
Պաշտպանական ստորակետ
Փակումներ եւ IIFE
Ռեկուրսիա
Ներածություն
Օրինակ պարամետրով
Զանգվածի տարրերի գումարը ռեկուրսիայի դեպքում
Բազմաչափ կառուցվածքներ
Զանգվածի տարրերի գումարը
Մանիպուլյացիաներ կառուցվածքներով
Իտերացիոն մեթոդներ
Map մեթոդ
forEach մեթոդ
Filter մեթոդ
Every մեթոդ
Some մեթոդ
Find մեթոդ
թարգմանություն, առաջադրանքներ
Reduce մեթոդ
թարգմանություն, առաջադրանքներ
Տարածման օպերատոր
Ներածություն
Ավելի բարդ օրինակներ
Զանգվածի ծայրահեղ արժեքներ
Զանգվածների միաձուլում
Տողերի տրոհում
Թվերի տրոհում
Մնացորդի օպերատոր
Դեստրուկտուրացիա
Զանգվածների դեստրուկտուրացիա
Զանգված ֆունկցիայից
Զանգվածի տարրերի բաց թողում
Զանգվածի ավելորդ արժեքներ
Զանգվածի մնացորդ
Լռելյայն արժեքներ զանգվածների համար
Լռելյայն ֆունկցիաներ զանգվածների համար
Փոփոխականների հայտարարում զանգվածների համար
Օբյեկտների դեստրուկտուրացիա
Փոփոխականների անուններ օբյեկտների համար
Լռելյայն արժեքներ օբյեկտների համար
Փոփոխականներ և լռելյայն արժեքներ օբյեկտների համար
Փոփոխականների հայտարարում օբյեկտների համար
Ֆունկցիայի պարամետրեր
Ֆունկցիայի պարամետրերի օբյեկտների դեստրուկտուրացիա
Ժամանակ
Date օբյեկտի հետ աշխատանք
Ձևավորում
Ամսաթվի ֆորմատի փոփոխություն
Շաբաթվա օրվա ստացում
Ամսաթվի բառային արտածում
Ժամանակի սահմանում
Timestamp ֆորմատ
Timestamp-ների տարբերություն
Ամսաթվերով օբյեկտների տարբերություն
Ամսաթվերի ավտոմատ ուղղում
Ամսվա վերջին օրվա հայտնաբերում
Նահանջ տարվա որոշում
Ճիշտության ստուգում
Ընթացիկ տարվա օրվա ստացում
Հաջորդ կամ նախորդ ամսվա օր
Հաջորդ կամ նախորդ տարվա օր
Պահերի տարբերություն
Օրվա ժամանակի պահ
Օրվա սկիզբ
Օրվա ավարտ
Ժամանակի պահերի ցիկլային ստուգում
Ժամանակի պահերի ստացման պրակտիկա
Տողային համեմատություն
Ամսաթվի համեմատություն առանց տարվա
Ամսաթվի ընկնելը միջակայքում
Ամսաթվով օբյեկտների համեմատություն
DOM-ի ներածություն
Ներածություն
DOM տարրեր
DOM տարրերի ստացում
DOM տարրի բարդ ընտրիչներ
Մշակիչների կապում
Անվանված մշակիչներ
Մեկ մշակիչ տարրերին
Մեկ իրադարձության մշակիչներ
Տարբեր իրադարձությունների մշակիչներ
Տարրի տեքստ
Տարրի HTML կոդ
Տեգերի ատրիբուտները որպես հատկություններ
Աշխատանք տեքստային դաշտերի հետ
Տեքստային դաշտերի կենտրոնացում
Վերացող ատրիբուտներ
Մեթոդների և հատկությունների շղթաներ
Շղթաների առավելություններն ու թերությունները
this օբյեկտ
this-ի առավելությունը
Տարրերի խմբի ստացում
Ցիկլում անվանված մշակիչներ
Ցիկլում անանուն մշակիչներ
Իրադարձությունների մշակիչների անկապում
Ցիկլում մշակիչների անկապում
Անանուն մշակիչների անկապում
Կոդ գրելու խորհուրդներ
Սխալներ գտնելու պրակտիկա
Պրակտիկում
Ատրիբուտներ
Ատրիբուտներ ստանալու մեթոդ
Ատրիբուտներ նշելու մեթոդ
Ատրիբուտներ հեռացնելու մեթոդ
Ատրիբուտներ ստուգելու մեթոդ
Օգտագործողի ատրիբուտներ
Դեպիոններով ատրիբուտների անուններ
Ատրիբուտներին դիմելը մեթոդներով
CSS դասերի զանգված
CSS դասերի ավելացում
CSS դասերի հեռացում
CSS դասերի ստուգում
CSS դասերի տոգլինգ
Ոճավորում
Ոճավորում style ատրիբուտի միջոցով
Դեֆիսով հատկությունների ոճավորում
Տարրերի ոճավորման բացառություն
CSS դասերի միջոցով ոճավորում
CSS դասերի միջոցով ոճավորման առավելություն
Ոճավորման կիրառում
Որոնում
Տարրերի ժառանգների հայտնաբերում
Տարրերի ծնողների հայտնաբերում
Տարրերի բոլոր ծնողների որոնում
Տարրերի հարևանների որոնում
Տարրի որոնում id-ով
Տարրի որոնում տեգի անունով
Տարրի որոնում դասի անունով
Որոնում տարրի ներսում
Հանգույցներ
Դաշտեր
Աշխատանք textarea դաշտի հետ
Տարրերի արգելափակում
Աշխատանք checkbox-ների հետ
Արժեքներ չունեցող ատրիբուտների հերթափոխ
Աշխատանք ռադիոկոճակների հետ
Change իրադարձություն
Input իրադարձություն
Focus և blur մեթոդներ
Սխալներ գտնելու պրակտիկա
Ընտրացանկեր
Ընտրացանկերի հետ աշխատանք
Value ատրիբուտը ընտրացանկերում
Ընտրված տարրի փոփոխում
Ընտրված տարրի համարը
Ընտրացանկի տարրերի ստացում
Տարրերը որպես զանգված
Ընտրացանկի տարրերի հետ աշխատանք
Ընտրացանկի տարրի ընտրություն
Ընտրված տարրի ստացում
Event օբյեկտ
Event օբյեկտի հետ աշխատանքի հիմունքներ
Իվենթի կոորդինատները
Իվենթի տեսակը
Իվենթի էլեմենտը
Սեղմված ստեղնների ստացում
Մոդիֆիկատոր ստեղնների հետևում
Լռելյայն գործողության չեղարկում
Իվենթների բաբլում
� Թիրախային էլեմենտ բաբլման ժամանակ
Իվենթների բաբլման դադարեցում
Մի քանի հենդլերներ էլեմենտի վրա
Բաբլման անմիջական դադարեցում
Իվենթների բաբլման դադարեցման կիրառում
Իվենթների կապտավորում
Հենդլերներ նոր էլեմենտների վրա
Իվենթների դելեգացում
Ունիվերսալ իվենթների դելեգացում
Կոնտեքստ
Կոնտեքստի հետ աշխատանքի հիմունքներ
Չկապված ֆունկցիայի կոնտեքստ
Կոնտեքստի կորուստ
Կոնտեքստի խնդրի լուծում
Լուծում փոփոխականի միջոցով
Լուծում պարամետրի միջոցով
Լուծում սլաքային ֆունկցիայի միջոցով
call մեթոդ
call մեթոդ պարամետրերով
apply մեթոդ
bind մեթոդ
Թայմերներ
Թայմերի գործարկում
Հաշվիչ թայմերի վրա
Թայմերի դադարեցում
Գործարկման կոճակներ
Բազմակի գործարկում
Դադարեցման կոճակներ
Աշխատանք DOM-ի հետ
Թայմերներ և կոնտեքստի կորուստ
Թայմերների և DOM-ի պրակտիկա
Հետաձգում կատարումից առաջ
Թայմեր հետաձգման միջոցով
Տարրերի կառավարում
Տարրերի ստեղծում և տեղադրում
Իրադարձությունների կապում տեղադրման ժամանակ
Տարրերի ստեղծում ցիկլում
Մշակիչների կապում ցիկլում
Տարրերի հեռացում
Եզրային տեղադրում
Տեղադրում նախքան
Հարևանային տեղադրում
Հարևանային տեղադրում թեգեր
Տարրերի կլոնավորում
Տարրերի ստուգում
Պրակտիկա
Էլեմենտների ստեղծում զանգվածից
Ցուցակների ul ստեղծման պրակտիկա
Աղյուսակների ստեղծում
Աղյուսակների հաջորդական լրացում
Աղյուսակի ստեղծում զանգվածից
Աղյուսակի ստեղծում օբյեկտների զանգվածից
Շարքերի և սյունակների ավելացում աղյուսակում
Աղյուսակի բջիջների փոփոխում
Նոր էլեմենտների հեռացում
Էլեմենտի հեռացման հղում
Հեռացման հղումների ստեղծում
Առանձին էլեմենտի խմբագրում
Թաքցնել տեքստը խմբագրելիս
Խմբագրում էլեմենտների հավաքածուում
Հեռացում և խմբագրում
Էլեմենտների ոճավորում
Էլեմենտը թաքցնելու և ցույց տալու կոճակներ
Շատ էլեմենտներ ցուցադրման կոճակներով
Էլեմենտների ակտիվացում
Ակտիվացման ոճերի հերթագայություն
Պրակտիկա էլեմենտների փոփոխման վերաբերյալ
Ֆունկցիաներ եւ DOM
DOM տարրի հետ աշխատելու ֆունկցիաներ
Տարրերի խմբի հետ աշխատելու ֆունկցիաներ
Կոլբեքի փոխանցում DOM-ի հետ աշխատելու համար
Հերթական համարի փոխանցում կոլբեքին
Տարրի փոխանցումը որպես ֆունկցիայի պարամետր
Տարրերի խմբի փոխանցումը որպես պարամետրեր
HTML աղյուսակներ ստեղծելու ֆունկցիա
Աղյուսակի վերադարձ ֆունկցիայից
Զանգվածից աղյուսակ ստեղծելու ֆունկցիա