Բազմաթիվ խնդրանքներով գործարկել մի շարք javaScript դասեր, Եթե \u200b\u200bվճռականորեն կազմաձեւված եք, վարպետ JS, դա նշանակում է, որ դուք պետք է ունենաք HTML- ի եւ CSS- ի հիմնական գիտելիքներ, քանի որ սա հիմք է, առանց որի մասին դժվար է հասկանալ:
Մեր կողմից ես կփորձեմ բացատրել հասկանալի լեզվով, ցույց տալ կյանքի իրական օրինակների վրա, քանի որ համեմատության մեջ ամեն ինչ գալիս է:
Ինչ է JavaScript- ը կամ ինչպես հասկանալ, թե ինչ նպատակով է անհրաժեշտ վեբ զարգացման ընթացքում:
Մենք ապրում ենք մի աշխարհում, որտեղ բոլորը շոշափելի են, մենք իրականացնում ենք այն գաղափարները, որոնք գալիս են մեր գլխին: Մենք կառուցում ենք տներ, մեքենաներ, շարժվելով տարբեր տեխնիկայով: Այսինքն, այն, ինչ մենք կարող ենք իրական կյանքում անել, կարող է ներկայացվել HTML- ի համեմատ, որտեղ նա հանդես է գալիս որպես շինանյութ, որի հիմքը, եւ երբ cSS օգնություն Մենք դարձնում ենք այս աշխարհը, այն դարձնում ենք գունեղ, քանի որ նրանք ցանկանում էին հենց իրեն տեսնել:
Հավանաբար զարմանում եք, թե HTML- ն ու CSS- ն այն են, ինչը մեզ շրջապատում է, ուստի ինչ է JavaScript- ը: Որտեղ նա դրսեւորվում է մեր աշխարհում:
Պարզապես, ես կարծում եմ, որ կբացատրեմ կինոնկարի օրինակով, կարծում եմ, որ ձեզանից շատերը նայում եւ հասկանում են, թե ինչի մասին ենք խոսում: Ֆիլմի սցենարի համաձայն, մենք գիտենք, որ Գարին տիրապետում էր կարողությունների, նա հրաշագործ էր, եւ դրանում օգնեց կախարդական գավազան: Դա կախարդական գավազան էր, որը նրան հնարավորություն էր տալիս ստեղծել կախարդական, այնպիսի մակարդակ, որքան նա ուներ գիտելիք, այն եզակի դարձնելու համար:
JavaScript- ը կախարդական գավազան էԴա ունի յուրաքանչյուր վեբ մշակող, բայց ինչ կախարդություն կարող եք ստեղծել, կախված է միայն մշակողի իմացության մասին, որի հետ նա տիրապետում է: Նրանք, ովքեր տիրապետել են Այս լեզունկախարդներն ու գանգուր հրաշքներ են:
JavaScript լեզու Չի հալվել առանց դրա բաղադրիչների HTML եւ CSS: Շատ ծրագրավորողներ նշում են վեբ էջի «շերտեր» ձեւավորող երեք լեզուներ, HTML, CSS եւ JavaScript:
HTML HyperText Markup- ի առաջին լեզուն - ապահովում է կառուցվածքային շերտեր, որն արտահայտում է էջի բովանդակությունը, ինչպիսիք են տեքստը, պատկերը այլ տարրեր:
Երկրորդ, CSS. (Կասկադային ոճի թերթեր) ձեւ Գեղեցիկ ձեւավորում, HTML- ի բովանդակության տեսքը:
Եւ երրորդը JavaScript. - Ավելացնել վարքային շերտեր, վերակենդանացնելով վեբ էջը, այն դարձնելով ինտերակտիվ, այսինքն `այցելուների հետ շփվելու տարրեր:
Արդյունքում, JavaScript Language- ին տիրապետելու համար դուք պետք է լավ պատկերացում ունենաք ինչպես HTML, այնպես էլ CSS:
Ծրագրավորումը կարող է թվալ անհավատալի մոգություն, անհասանելի պարզ մահկանացու: Այնուամենայնիվ, նրա հասկացությունների մեծ մասը դժվար չէ հասկանալ: JavaScript- ը բավականին բարեկամական է նորաստեղծ ծրագրավորողների հետ կապված, բայց, այնուամենայնիվ, դա ավելի դժվար է, քան HTML- ը կամ CSS- ը, այնպես որ դասերի շարքի շրջանակներում մենք տիրապետելու ենք ծրագրավորման հիմնական հասկացություններին JavaScript.
Դուք կծանոթանաք նոր խորհրդանիշներին (), , (),!, Իմացեք նոր բառերի (VAR, NULL, եթե), մենք կվերլուծենք կետադրության կանոնները եւ ինքնին լեզվի շարահյուսությունը, եւ այս ամենը `իրենց մոգությունը ստեղծելու համար:
Նյութը պատրաստված դենիսը այրվել է, գրեք ձեր մեկնաբանությունը եւ վստահ եղեք, որ այս նյութը կիսվեք ձեր ընկերների հետ:
- Տեղափոխել
Նյութը, որի թարգմանությունը այսօր հրատարակում ենք, նվիրված է JavaScript- ի հիմունքներին եւ նախատեսված է սկսնակ ծրագրավորողների համար: Այն կարելի է դիտարկել որպես փոքր տեղեկատու գիրք `JS նախագծերի հիմնական նախագծերում: Այստեղ մենք, մասնավորապես, եկեք խոսենք տվյալների տիպի համակարգի մասին, օբյեկտների նախատիպերի եւ լեզվի որոշ այլ առանձնահատկությունների մասին փոփոխականների, զանգվածների, առանձնահատկությունների մասին:
Տվյալների պարզունակ տեսակներ
JavaScript- ը ունի հետեւյալ պրիմիտիվ տվյալների տեսակները, համարը, բուլյան, լարային, անորոշ, զրոյական: Անմիջապես, հարկ է նշել, որ պարզունակ տվյալների տեսակների հետ աշխատելիս, օրինակ, լարային տառերով, մենք նույնիսկ բացահայտ փոխարկում չենք կատարում, կարող ենք մուտք ունենալ դրանց մեթոդներ եւ հատկություններ: Փաստն այն է, որ նման գործողություններ կատարելու փորձի ժամանակ, գրականությունն ավտոմատ կերպով հագեցած է համապատասխան օբյեկտի փաթաթանով:▍ թերթ
JavaScript- ը ունի միայն մեկ տեսակի համարներ. Սրանք երկկողմանի ճշգրտության թվեր են `լողացող կետով: Սա հանգեցնում է այն փաստին, որ որոշ արտահայտություններ թվարկելու արդյունքները սխալ են: Կարող եք արդեն իմանալ, որ js արտահայտության արժեքը 0,1 + 0.2-ի արժեքը հավասար չէ 0.3-ի: Միեւնույն ժամանակ, ամբողջ թվերի հետ աշխատելիս նման խնդիրներ չեն նկատվում, այսինքն, 1 + 2 \u003d\u003d\u003d 3:JavaScript- ը ունի համարի օբյեկտ, որը թվային արժեքների համար օբյեկտի փաթաթան է: Միավորների օբյեկտները կարող են ստեղծվել կամ օգտագործելով VAR A \u003d համարը (10) տիպի հրամանը, կամ կարող եք ապավինել վերը նկարագրված համակարգի ավտոմատ պահվածքին: Սա, մասնավորապես, թույլ է տալիս զանգահարել թվով պահվող մեթոդներ:
(123) .Tostring (); // "123" (1.23) .Տրոֆիլ (1); //"1.2 »
Կան գլոբալ գործառույթներ, որոնք նախատեսված են թվային տիպի այլ տեսակների փոխանակման համար: Այն փորված է (), պարսլած () եւ համարի () դիզայնը, որն այս դեպքում հանդես է գալիս որպես սովորական գործառույթ, որը կատարում է տեսակների փոխարկումը.
Parseint ("1") // 1 parseint ("տեքստ") // nan parsefloat ("1.234") //1.234 համարը ("1") //1.234) //1.234
Եթե \u200b\u200bգործողության ընթացքում թվերով ստացվում է մի բան, որը մի շարք չէ (որոշ հաշվարկների ընթացքում, կամ թիվից որեւէ բան փոխարկելու ժամանակ), JavaScript- ը չի ներկայացնի որպես NAN ( Ոչ մի համարը, ոչ համարը): Որպեսզի ստուգեք, արդյոք NAN արժեքն օգտագործվում է, կարող եք օգտագործել ISNAN () գործառույթը:
Թվաբանական գործողություններ JS- ը բավականին ծանոթ է, բայց անհրաժեշտ է ուշադրություն դարձնել այն փաստին, որ + օպերատորը կարող է իրականացնել թվերի ավելացում եւ տողերի համախմբում:
1 + 1 //2 "1" + "1" //"11" 1 + "1" //"11"
▍ ինսուլտ
JavaScript- ում տողերը Unicode նիշերի հաջորդականություններ են: Լարային գրություններում ստեղծում են, մուտքագրելով դրանց մեջ տեղադրված տեքստ, կրկնակի (") կամ մեկ (" ») մեջբերումներով: Ինչպես արդեն նշվեց, լարային տառերով աշխատելիս մենք կարող ենք ապավինել համապատասխան օբյեկտի փաթաթանին, որի նախատիպում կան շատ օգտակար մեթոդներ `դրանց մեջ` ենթա (), ինդեքս (), կոնտակտ (): "Տեքստ" .Սուբտրինգ (1,3) // նախկին «տեքստ» .indexof ("x") // 2 "տեքստ". Concat ("End")
Տողեր, ինչպես այլ պրիմիտիվ արժեքներ, immuTabelins: Օրինակ, զոնդ () մեթոդը չի փոփոխում առկա լարը եւ ստեղծում է նորը:
▍Logical արժեքներ
JS- ի տրամաբանական տվյալների տեսակը ներկայացված է երկու արժեքով `ճշմարիտ եւ կեղծ: Լեզուն կարող է ավտոմատ կերպով փոխել տարբեր արժեքներ տրամաբանական տվյալների տեսակից: Այսպիսով, կեղծ, բացի կեղծ տրամաբանական արժեքից, զրոյական, անորոշ, «» (դատարկ լար), 0 եւ Նան: Մնացած ամեն ինչ, ներառյալ ցանկացած առարկա, իրական արժեքներ են: Ընթացքի մեջ է Տրամաբանության գործողություններ Այն ամենը, ինչը իրական համարվում է ճշմարիտ, փոխարկվում է ճշմարիտ, եւ այն ամենը, ինչը կեղծ համարվում է կեղծ, փոխարկվում է կեղծ: Դիտեք հետեւյալ օրինակը: Վերոնշյալ սկզբունքների համաձայն, դատարկ տողը կվերափոխվի կեղծ եւ վահանակում սույն օրենսգրքի կատարման արդյունքում, սրա տողը կեղծ է ընկնելու մեջ:Թող տեքստը \u003d ""; Եթե \u200b\u200b(տեքստ) («Սա ճշմարիտ է»);) ուրիշ («Սա կեղծ է»);)
Առարկաներ
Օբեկտները դինամիկ կառույցներ են, որոնք բաղկացած են մի զույգ առանցքային արժեքից: Արժեքները կարող են ունենալ պարզունակ տվյալների տեսակներ, կարող են լինել առարկաներ կամ գործառույթներ:Օբեկտները ամենահեշտ են ստեղծել օբյեկտի բառացի սինթաքսի օգտագործումը.
Թող OBJ \u003d (Հաղորդագրություն. «Հաղորդագրություն», DOMONTHING: FUNCTION ())
Օբյեկտի հատկությունները կարող են լինել ցանկացած պահի, կարդալ, ավելացնել, խմբագրել եւ ջնջել: Այսպես է արվում.
- Ընթերցանության հատկություններ. Object.Name, օբյեկտ:
- Գրանցեք տվյալները հատկություններին (եթե գոյություն չունի այն գույքը, որը գոյություն չունի, ավելացվում է նոր գույքը նշված բանալով). Object.name \u003d արժեք, արժեք, առարկա \u003d արժեք:
- Delete նջել հատկությունները. Delete նջել object.name, ջնջել օբյեկտը:
Թող OBJ \u003d (); // ստեղծում է դատարկ առարկա Objessage \u003d "հաղորդագրություն"; // նոր գույք ավելացնելով obj.message \u003d "Նոր հաղորդագրություն"; // Delete նջել object .. message հատկությունները. // Delete նջել գույքը
Լեզուի օբյեկտներն իրականացվում են Hash աղյուսակների տեսքով: Դուք կարող եք ստեղծել պարզ հեշի սեղան, օգտագործելով օբյեկտը: Ստեղծման հրամանը (NULL):
Թող ֆրանսիացիները \u003d առարկան (զրոյական); Ֆրանսերեն [«այո»] \u003d «OUI»; Ֆրանսերեն [«Ոչ»] \u003d "Ոչ"; Ֆրանսերեն [«Այո»]; // «OUI»
Եթե \u200b\u200bօբյեկտը պետք է անփոխարինելի լինի, կարող եք օգտագործել օբյեկտը: Freeze () հրամանը:
Օբյեկտի բոլոր հատկությունները թվարկելու համար կարող եք օգտագործել Object.Keys () հրամանը.
Ֆունկցիայի լողիպրոպերտական \u200b\u200b(անուն) (Console.Log (անուն); // Գույքի անվանումը Console.Log (OBJ); // գույք (OBJ).
▍ Միացրեք պարզունակ տիպերի եւ առարկաների արժեքները
Համար Գործնական աշխատանք Պարզունակ արժեքներով արդեն ասված էր, դրանք ընկալել որպես առարկաներ, որոնք ունեն հատկություններ եւ մեթոդներ, չնայած դրանք օբյեկտներ չեն: Առաջնային արժեքները անփոխարինելի են, օբյեկտների ներքին կառուցվածքը կարող է տարբեր լինել:Փոփոխականներ
JavaScript- ում փոփոխականները կարող են հայտարարվել `օգտագործելով VAR, թող եւ կայուն բառեր:VAR հիմնաբառ օգտագործելիս կարող եք տեղադրել փոփոխական, եւ անհրաժեշտության դեպքում, այն նախաստորագրել որոշակի արժեքով: Եթե \u200b\u200bփոփոխականը նախաստորագրված չէ, դրա արժեքը անորոշ է: VAR հիմնաբառ օգտագործող փոփոխականները գործառնական շրջանակ ունեն:
Թող հիմնաբառը շատ նման է VAR- ի, տարբերությունն այն է, որ հիմնաբառով հայտարարված փոփոխականները թող ունենան բլոկային շրջանակ:
Տեսանելիության բլոկի շրջանակը ունի նաեւ փոփոխականներ, որոնք հայտարարվել են Const Housword- ի միջոցով, ինչը, հաշվի առնելով, որ նման փոփոխականների արժեքները չեն կարող փոփոխվել, ճիշտ կզանգահարեն «հաստատուններին»: «Սառեցնում է» «սառեցնում» բառի արժեքը իր օգտագործման համար հայտարարված փոփոխականի արժեքը կարելի է համեմատել օբյեկտի հետ: Freeze () մեթոդ, «սառեցման» օբյեկտներ:
Եթե \u200b\u200bփոփոխականը հայտարարված է ցանկացած գործառույթի սահմաններից դուրս, դրա շրջանակը գլոբալ է:
Arrays
JavaScript- ի զանգվածներն իրականացվում են օբյեկտների միջոցով: Արդյունքում, ասեսի մասին խոսելը, մենք իրականում քննարկում ենք զանգվածների նման առարկաները: Դուք կարող եք աշխատել զանգվածի տարրերի հետ `օգտագործելով դրանց ցուցիչները: Թվային ցուցանիշները վերածվում են տողերի եւ օգտագործվում են որպես անուններ `զանգվածների արժեքներ մուտք ունենալու համար: Օրինակ, ժամանված տեսակը դիզայնը նման է Rars- ի նախագծմանը [«1»], իսկ մյուսը `մուտք դեպի նույն արժեքը. Arr \u003d\u003d\u003d arr [" 1 "]: Համաձայն վերը նշվածի, մի պարզ զանգված հայտարարեց, թե ինչպես է arry- ն ընկել \u003d [«հրամանը, բ», «C»], կարծես թե հետեւյալն է. («0». «Ա», «1». «Բ», «2». «Գ»)
Հեռացնելով զանգվածի տարրերը, օգտագործելով ջնջման հրամանը, հեռանում է դրա մեջ «անցքեր»: Այս խնդրից խուսափելու համար կարող եք օգտագործել splice () հրամանը, բայց այն դանդաղ է աշխատում, քանի որ իրը հեռացնելուց հետո այն տեղափոխվում է զանգվածի մնացած տարրերը, փաստորեն, դրանք տեղափոխում են զանգվածի սկիզբը, ձախ ,
Թող arr \u003d ["a", "b", "c"]; Delete նջել arr; Console.Log (arr); // [«a», դատարկ, «C»] վահանակ .LOG (arr.length); // 3.
Զանգվածների մեթոդները հեշտացնում են այնպիսի տվյալների կառուցվածքներ իրականացնելը, ինչպիսիք են կեռերը եւ հերթերը.
// stack թող stack \u003d; stack.push (1); // stack.push (2); // թող վերջին \u003d stack.pop (); // Console.log (վերջին); // 2 // հերթը թող հերթը \u003d; queue.push (1); // queue.push (2); // թող առաջինը \u003d queue.shift (); // վահանակ (առաջին); // մեկ
Գործառույթներ
JavaScript- ում գործառույթները օբյեկտներ են: Գործառույթները կարող են նշանակվել փոփոխականներին, որոնք պահվում են օբյեկտներում կամ զանգվածներում, այլ գործառույթների փոխանցում են փաստարկների տեսքով եւ վերադառնալ այլ գործառույթներից:Գործառույթները հայտարարելու երեք եղանակ կա.
- Ֆունկցիայի հայտարարագրում կամ գործառույթի հայտարարություն):
- Օգտագործելով ֆունկցիոնալ արտահայտություններ (գործառույթի արտահայտություն), որոնք կոչվում են նաեւ ֆունկցիոնալ գրականություն (գործառույթ բառացի):
- Օգտագործելով հրաձգության գործառույթների շարահյուսությունը (Arrow գործառույթը):
▍classical AD գործառույթ
Գործառույթների հայտարարագրին այս մոտեցմամբ կիրառվում են հետեւյալ կանոնները.- Հայտարարագրի տողի գործառույթի առաջին հիմնաբառը գործառույթն է:
- Գործառույթները պետք է անուն ունենան:
- Գործառույթը կարող է օգտագործվել այն կոդով, որը նախքան այն պատրաստվում է տեսանելիության շրջանակի վերին մասում գործառույթի վերացման մեխանիզմի մեխանիզմով, որում հայտարարվում է:
Գործառույթների դոզան () ()
▍ ֆունկցիոնալ արտահայտություններ
Ֆունկցիոնալ արտահայտություններ օգտագործելիս պետք է հաշվի առնել հետեւյալը.- Գործառույթի հիմնաբառը այլեւս առաջին բառն է Խաղարկային տողի գործառույթում:
- Գործառույթի համար անվանման առկայությունը պարտադիր չէ: Հնարավոր է օգտագործել ինչպես անանուն, այնպես էլ անունով ֆունկցիոնալ արտահայտություններ:
- Զանգահարեք հրամաններ Նման գործառույթները պետք է հետեւեն իրենց գովազդի հրամաններին:
- Այս հատկությունը կարող է սկսվել հայտարարությունից անմիջապես հետո, օգտագործելով IIFE Syntax (անմիջապես կանչված գործառույթի արտահայտություն `անմիջապես անվանելով ֆունկցիոնալ արտահայտություն):
Թող DOSOMETHING \u003d գործառույթ () ()
▍ Ձգվող գործառույթներ
Սլաքի գործառույթները, ըստ էության, կարող են համարվել «Սինտաքս շաքար» `անանուն ֆունկցիոնալ արտահայտություններ ստեղծելու համար: Հարկ է նշել, որ նման գործառույթներն ունեն այս սուբյեկտներ եւ փաստարկներ: Arrow գործառույթի հայտարարությունը այսպիսին է.Թող դոզոմեթինգը \u003d () \u003d\u003e ();
Ակցիաներ զանգահարելու գործառույթներին
Գործառույթները կարելի է անվանել տարբեր ձեւերով:Նորմալ գործառույթի զանգ
Ամրոց (փաստարկներ)Զանգի գործառույթը `որպես օբյեկտի մեթոդ
Theobject.dosh.dosomething (փաստարկներ) thebject [«dosomething»] (փաստարկներ)Զանգի գործառույթը դիզայներների տեսքով
Նոր աբսոզիչ (փաստարկներ)Կիրառելով գործառույթ, օգտագործելով կիրառական () մեթոդը
DOSOMETHING.APPLLY (TAOBJECT,) DOSOSHING.CALL (ԹԵՈԲՈՎ, փաստարկներ)Կապի () մեթոդի միջոցով գործառույթ զանգահարելը
Թող DOSOMETHINGFICTOBJECT \u003d DOSOMETHING.BIND (TABJECT); dosomethingwithobjectobject ();Գործառույթները կարելի է անվանել մեծ կամ փոքր թվով փաստարկներով, քան այն պարամետրերի քանակը, որոնք նշված են դրանք հայտարարելու ժամանակ: «Ավելորդ» գործառույթի գործունեության ընթացքում փաստարկները պարզապես անտեսվելու են (չնայած գործառույթն ունի դրանց մուտք), անհայտ կորած պարամետրերը կստանան անորոշ:
Գործառույթներն ունեն երկու կեղծ պարամետր, սա եւ փաստարկներ:
▍ Հարսանեկան բառ սա
Դրա հիմնաբառը գործառույթի համատեքստ է: Այն արժեքը, որով դա ցույց է տալիս, կախված է նրանից, թե ինչպես է առաջացել գործառույթը: Դա այն է, թե ինչ արժեքներ են վերցնում դրա հիմնաբառը `գործառույթը զանգահարելու եղանակից (նրանք, ծածկագրերի օրինակներով, վերեւում նկարագրված են).- Նորմալ գործառույթի զանգ - պատուհան / չորոշված:
- Զանգի գործառույթը `որպես օբյեկտի մեթոդ` թրթռում:
- Դիզայների ձեւով գործառույթ զանգահարելով `նոր օբյեկտ:
- Կիրառելով գործառույթ, օգտագործելով կիրառական () մեթոդը `thebject:
- Կապի () մեթոդի միջոցով գործառույթ զանգահարելով `օգտագործելով BIND () մեթոդը:
▍ Հարսանեկան բառի փաստարկներ
Վիճադրումների հիմնաբառը կեղծ կեղծարար է, որը հնարավորություն է տալիս գործառույթներ անվանելիս օգտվել բոլոր փաստարկներին: Կարծես զանգված է, բայց զանգված չէ: Մասնավորապես, նա չունի զանգվածի մեթոդներ:Ֆունկցիաների վերականգնում (ընդհանուր, արժեքի) գործառույթի գումար () (թող array \u003d array.prototyp.slice.call (փաստարկներ); վերադարձը (1,2, 3);
Փաստարկների հիմնաբառի այլընտրանքը մնացած պարամետրերի նոր շարահյուսությունն է: Հաջորդ օրինակում փաստաբանը զանգված է, որը պարունակում է այն ամենը, ինչ փոխանցվում է զանգահարելիս:
Գործառույթի գումարը (... ARGS) (վերադարձը args.reduce (Reducetosum, 0);)
▍ Օպերատորի վերադարձը:
Այն գործառույթը, որում բացակայում է վերադարձի արտահայտությունը, կվերադառնա անորոշ: Օգտագործելով վերադարձի հիմնաբառը, ուշադրություն դարձրեք, թե ինչպես է աշխատում կիսագնդի ավտոմատ տեղադրման մեխանիզմը: Օրինակ, հետեւյալ գործառույթը չի վերադարձնի դատարկ առարկա, բայց անորոշ.Function GetObject () (վերադարձ ()) getobject ()
Նման խնդիրը խուսափելու համար բացման փակագիծը պետք է տեղադրվի նույն գծի վրա, որի վրա գտնվում է վերադարձի հայտարարությունը.
Ֆունկցիան getobject () (վերադարձ ())
Դինամիկ մուտքագրում
JavaScript- ը դինամիկ մուտքագրմամբ լեզու է: Սա նշանակում է, որ հատուկ արժեքներն ունեն տեսակներ, եւ փոփոխականները չեն: Ծրագրի կատարման ընթացքում նույն փոփոխականում կարող եք արձանագրել արժեքներ Տարբեր տեսակներ, Ահա մի գործառույթի օրինակ, որն աշխատում է տարբեր տեսակի.Ֆունկցիայի մատյան (արժեք) (վահանակ.լոգ (արժեք);) մատյան (1); Մուտք («տեքստ»); log ((հաղորդագրություն, "տեքստ"));
Փոփոխականի մեջ պահվող տվյալների տեսակը պարզելու համար կարող եք օգտագործել տիպի () օպերատորը.
Թող n \u003d 1; Տիպի (n); // համարը թող s \u003d "տեքստ"; Մուտքագրող (ներ); // տող թող FN \u003d գործառույթ () (); Տիպի (FN); // գործառույթ:
Կատարման մեկտեղի մեկ մոդել
JavaScript- ի կատարման միջավայրը միակողմանի է: Սա, մասնավորապես, արտահայտվում է երկու գործառույթների միաժամանակ կատարելու անհնարինության մեջ (եթե հաշվի չառնել այն օրենսգրքի ասինխրոն կատարման հնարավորությունները, որոնք մենք այստեղ չենք ազդում): Կատարման միջավայրում կա այսպես կոչված իրադարձության հերթ (իրադարձությունների հերթ), որը պահում է մշակման առաջադրանքների ցանկը: Արդյունքում, փոխադարձ ռեսուրսների արգելափակման խնդիրները անսովոր են JS կատարման մեկ ծաղկուն սխեմայի համար, այնպես որ արգելափակման մեխանիզմ չկա: Այնուամենայնիվ, իրադարձությունների հերթում ընկած ծածկագիրը պետք է արագ կատարվի: Եթե \u200b\u200bծանր աշխատանքով ծանրաբեռնված եք, զննարկչի դիմումում, հիմնական հոսքը, դիմումի էջը չի պատասխանի օգտագործողի ազդեցությանը, եւ զննարկիչը կառաջարկի փակել այս էջը:Բացառության բեռնաթափում
JavaScript- ը ունի բացառության կառավարման մեխանիզմ: Այն աշխատում է ըստ բավականին սովորական նման մեխանիզմների համար Սկզբունք. Մի կոդ, որը կարող է սխալ առաջացնել, օգտագործելով փորձի / բռնել դիզայնը: Կոդն ինքնին փորձված է, սխալները մշակվում են բռնի բլոկում:Հետաքրքիր է նշել, որ երբեմն JavaScript- ը, եթե ունեք ազատ իրավիճակներ, չի թողարկում սխալ հաղորդագրություններ: Դա պայմանավորված է նրանով, որ JS- ն սխալներ չի առաջացրել նախքան ECSAPRICT 3 ստանդարտը ընդունելը:
Օրինակ, օրենսգրքի հաջորդ հատվածում ձախողվում է «սառեցված» օբյեկտը փոխելու փորձ, բայց բացառությունը չի թողարկվի:
Թող obj \u003d առարկա: Freeze (()); Obj.message \u003d "տեքստ";
«Լուռ» JS սխալներից ոմանք դրսեւորվում են խիստ ռեժիմով, կարող եք այն միացնել «Օգտագործել խիստ» ձեւավորում օգտագործելը. ,
Նախատիպային համակարգ
JS մեխանիզմների, ինչպիսիք են գործառնական դիզայներական նման մեխանիզմների հիմքը, օբյեկտը: Ստեղծման հրամանը () Դասարանի հիմնական բառը նախատիպերի համակարգն է:Դիտարկենք հետեւյալ օրինակը.
Թող Ծառայությունը \u003d (դոզանթ. Գործառույթ () () թող մասնագիտացված ծառայություններ \u003d առարկա (ծառայություն); Console.Log (մասնագիտացված ծառայություններ .__ Proto__ \u003d\u003d\u003d Ծառայություն); // Ճիշտ.
Այստեղ, ստեղծել մասնագիտացված տարածքային օբյեկտ, որի նախատիպը անհրաժեշտ էր օբյեկտի օբյեկտը դարձնելու համար: Ստեղծեք (): Արդյունքում պարզվում է, որ դոզանավորող () մեթոդը կարելի է անվանել, կապ հաստատելով մասնագիտացված ծառայություններային օբյեկտի հետ: Բացի այդ, սա նշանակում է, որ մասնագիտացված ծառայություններային օբյեկտի __PTOTO__ գույքը ցույց է տալիս ծառայության օբյեկտը:
Ստեղծեք այժմ նմանատիպ օբյեկտ, օգտագործելով դասի հիմնաբառը.
Դասի ծառայություն (դոզանավորիչ ()) Class SpecialificService Ընդլայնված ծառայություն () թող մասնագիտացված ծառայություններ \u003d նոր մասնագիտացված ծառայություններ (); Console.log (մասնագիտացված ծառայություններ .__ Proto__ \u003d\u003d\u003d մասնագիտացվածSERVICE.prototype);
Ծառայության դասում հայտարարված մեթոդները կավելացվեն Ծառայության: sprototype օբյեկտը: Ծառայությունների դասի դեպքերը կունենան նույն նախատիպը (ծառայություն. Sprototype): Բոլոր ատյանները կփոխանցեն զանգի զանգերը ծառայության: sprototype օբյեկտը: Արդյունքում պարզվում է, որ մեթոդները հայտարարվում են միայն մեկ անգամ, ծառայության մեջ: Որից հետո նրանք «ժառանգվում են» դասի բոլոր ատյաններով:
▍Ceclosure Prototypes
Օբեկտները կարող են լինել այլ օբյեկտների «ժառանգներ»: Յուրաքանչյուր օբյեկտ ունի նախատիպ, որի մեթոդները դրան հասանելի են: Եթե \u200b\u200bփորձեք անդրադառնալ այն գույքին, որը օբյեկտի մեջ չէ, ապա JavaScript- ը կսկսի որոնել նախատիպի շղթան: Այս գործընթացը կշարունակվի այնքան ժամանակ, քանի դեռ գույքը չի գտնվել, կամ մինչեւ որ խուզարկությունը հասնի շղթայի ավարտին:JavaScript- ում ֆունկցիոնալ ծրագրավորման վերաբերյալ
Մեջ JavaScript- ի գործառույթները Առաջին կարգի առարկաներն են, լեզուն աջակցում է փակման մեխանիզմին: Սա բացում է JS ֆունկցիոնալ ծրագրավորման մեթոդների իրականացման ճանապարհը: Մասնավորապես, մենք խոսում ենք ավելի բարձր կարգի գործառույթներ կիրառելու հնարավորության մասին:Փակումը ներքին գործառույթ է, որն ունի ծնողական գործառույթի շրջանակներում հայտարարված փոփոխականներ, նույնիսկ ծնողական գործառույթը կատարելուց հետո:
Պատվերի ամենաբարձր գործառույթը գործառույթ է, որը ունակ է այլ գործառույթներ վերցնել որպես փաստարկ, վերադարձնել գործառույթներ կամ երկուսն էլ անել:
Paints անկաշերտով գործառնական ծրագրավորումն ընդգծվում է մի շարք հրապարակումների մեջ: Եթե \u200b\u200bդա ձեզ համար հետաքրքիր է. Ահա որոշ նյութեր, որոնք նվիրված են դրան
JavaScript Syntax ձեռնարկ
Նախքան սկսեք կարդալ javaScript ձեռնարկԴուք պետք է ունենաք ծրագրաշարի իմացություն:
Դա կլինի մեծ գումարած JavaScript Syntax սովորելու դեպքում, եթե արդեն ծանոթ եք ծրագրավորման ցանկացած լեզվին, ինչպիսիք են PHP- ը կամ Pascal- ը, ինչպես նաեւ հասկանում են, թե ինչ փոփոխական, տվյալների տեսակը, գործառույթը կամ զանգվածը հասկանում եք:
Այնուամենայնիվ, եթե ծանոթ չեք ծրագրավորման լեզուներին, չարժի անհանգստանալ, տրված javaScript դասագիրք Պարզապես եւ նախատեսված է նրանց համար, ովքեր առաջին անգամ անցնում են ծրագրավորման ուսումնասիրությանը:
JavaScript (JavaScript) - Սա հաճախորդի ծրագրավորման լեզու է, որը կարող է վերահսկվել HTML- էջի տարրերի (HTML Tags) եւ վեբ զննարկչի միջոցով, ստիպեք նրանց տեղափոխել տարբեր միջոցառումներ (մկնիկի կտտոցներ, ստեղնաշարի սեղմում), ստեղծեք շատ հետաքրքիր ծրագրեր ( Գրություններ). Թեստեր, անիմացիա, լուս. պատկերասրահներ (օրինակ, Vkontakte), խաղեր եւ այլն:
Ինչպես է JavaScript- ի ուսումնասիրությունը
Ուսուցում javaScript լեզուսովորաբար բաժանվում է չորս փուլերի.
1. JavaScript շարահյուսություն (այս ձեռնարկը),
2. Ուսումնասիրություն Տական մի քանազոր Բոմ.,
3. DOM եւ BOM Control, օգտագործելով JavaScript,
4. Ուսումնասիրելով JavaScript- ի տարբեր գրադարաններ: jQuery - ամենատարածվածը այս պահին գրադարան (JQuery դասագիրքը պետք է հայտնվի այս կայքում 2015-ի վերջին).
DOM- ը փաստաթղթի օբյեկտի մոդելն է: Դոմ տեխնոլոգիայի շնորհիվ HTML էջերի պիտակները սկսում են ներկայացնել այս ծառի օբյեկտների եւ յուրաքանչյուր օբյեկտի առարկաները, կա եզակի հասցե: Այս հասցեին վկայող JavaScript Language- ը կարող է մուտք գործել որոշակի HTML պիտակ եւ կառավարել այն (փոխել գույնը, չափը, դիրքը եւ MN: Դոկտոր):
BM- ը զննարկչի փաստաթղթի մոդել է: Կառույցը նույնն է, ինչ DOM- ը, միայն HTML- էջի օբյեկտների փոխարեն, զննարկչի առարկաներն են. Զննարկչի պատուհան, զննարկչի էկրանի չափսեր, այցելություններ պատմություն, կարգավիճակի տող եւ այլն:
Dom and Bom- ը սովորելուց հետո նրանք սկսում են ավելի կամ պակաս բարդ սցենարներ ստեղծել JavaScript- ի վրա, որոնք փոխազդում են էջի եւ զննարկչի հետ:
Այնուհետեւ, մի փոքր տիրապետելով, ուսումնասիրեք JavaScript- ի որոշ գրադարան, օրինակ, Jquery, շնորհիվ նրա, կարող եք ստեղծել նույն ծրագրերը, ինչպես JavaScript- ը, միայն շատ ավելի արագ եւ արդյունավետ:
Որոշ վեբ վարպետներ անմիջապես սկսում են ուսումնասիրել jQuery- ը, բաց թողնելով նախորդ երեք փուլերը, բայց ես դա խորհուրդ չեմ տալիս, քանի որ ցանկացած դեպքում պետք է հասկանալ նրանց հատկությունների, մեթոդների եւ նպատակակետերի DOM / BOM օբյեկտները:
Ինչ ծրագրեր կարող են գրվել JavaScript- ի միջոցով
Օգտագործելով, կարող եք ստեղծել շատ հետաքրքիր ծրագրեր (գրություններ).
- Դուք կարող եք ստեղծել սցենարներ, որոնք կփոխեն կայքի էջի կամ դրանց գտնվելու վայրի տարրերը, սեղմելով մեկ կամ մեկ այլ կոճակ,
- Կարող եք անիմացիա ստեղծել,
- Ձեւաթղթերի ձեւեր, ինչպիսիք են օգտագործողի մուտքագրված տվյալները ստուգելը,
- ստեղծել տարբեր թեստեր, ինչպիսիք են EGE- ի տեսակը (դպրոցական քննություններ) եւ անմիջապես ստանալ արդյունքը,
- Bom- ի շնորհիվ դուք կարող եք պարզել զննարկչի եւ ձեր կայքի օգտագործած համակարգչային համակարգչի բնութագրերը, ինչը թույլ է տալիս ստեղծել տարբեր այցելող մետրեր,
- JavaScript- ի միջոցով կարող եք ստեղծել նույնիսկ խաղեր, մուլտֆիլմեր եւ շատ այլ հետաքրքիր եւ օգտակար ծրագրեր:
Որն է այս ձեռնարկի նպատակը JavaScript- ի վերաբերյալ:
Դրա նպատակը javaScript Books ձեզ սովորեցնելն է javaScript Syntax հիմունքներ, Ներկայացրեք ծրագրավորում եւ հասկացություններ, ինչպիսիք են փոփոխականները, տվյալների տեսակները, գործողությունները, մասնաճյուղային օպերատորները, գործառույթները, ցիկլերը, զանգվածները, առարկաները եւ այլն: Այս ամենը հանդիպում է այլ ծրագրավորման լեզուներով, այնպես որ յուրացրեք JavaScript- ը, դուք շատ ավելի հեշտ կլինեք սովորել այլ լեզուներ, ինչպիսիք են PHP, C ++ կամ Python:
JavaScript դասագրքերի կառուցվածքը
Մեջ Դասագիրք JavaScript- ի վրա:Քննարկվելու են հետեւյալ թեմաները եւ դասերը:
JavaScript - մտնում է խաղ, երբ մենք պետք է որոշակի քայլեր ձեռնարկենք հաճախորդի կողմից, որն անդրադարձավ մեր վեբ էջին:
JavaScript- ը կարող է փոխել վեբ-էջը `առանց սերվերի մուտք ունենալու, ստուգեք տվյալների օգտագործողի արժեքները մուտքագրված եւ կատարեք ցանկացած այլ գործողություն:
Այս հոդվածում պարունակում են հիմնական տեղեկատվություն, որը թույլ կտա ձեզ սկսել օգտագործել JavaScript- ը:
Սցենարը ուղղակիորեն էջի կոդով տեղադրելը
Դուք կարող եք տեղադրել JS կոդ անմիջապես էջի ներսում:
Կոդի հեռացում առանձին ֆայլում
Կարող է ներկայացվել JavaScript կոդ դեպի արտաքին ֆայլը եւ դրա հղումը օգտագործեք էջում
Այս դեպքում փակման պիտակը պահանջվում է:
Լավագույն տեղադրեք սցենարները փակման պիտակի դիմաց