JavaScript ծրագրավորման դասընթաց: JavaScript Սկսնակների համար - Պարզ օրինակներ

Բազմաթիվ խնդրանքներով գործարկել մի շարք 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 գործառույթ

Գործառույթների հայտարարագրին այս մոտեցմամբ կիրառվում են հետեւյալ կանոնները.
  • Հայտարարագրի տողի գործառույթի առաջին հիմնաբառը գործառույթն է:
  • Գործառույթները պետք է անուն ունենան:
  • Գործառույթը կարող է օգտագործվել այն կոդով, որը նախքան այն պատրաստվում է տեսանելիության շրջանակի վերին մասում գործառույթի վերացման մեխանիզմի մեխանիզմով, որում հայտարարվում է:
Ահա թե ինչ է թվում դասական 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 կոդ դեպի արտաքին ֆայլը եւ դրա հղումը օգտագործեք էջում

Այս դեպքում փակման պիտակը պահանջվում է:

Լավագույն տեղադրեք սցենարները փակման պիտակի դիմաց

Փոփոխականներ

Փոփոխականների անուններ

Փոփոխական անունները կարող են սկսվել մեծ կամ փոքր տառով, ընդգծված կամ $ նշանով:

Անունը կարող է թվեր լինել, բայց անհնար է համար թվերով սկսել փոփոխականի անունը:

JavaScript- ը զգայուն է գրանցամատյանում. MyText- ը եւ MyText- ը երկու տարբեր փոփոխական են:

Ավելի լավ է օգտագործել ուղի անվանման համար, յուրաքանչյուր բառ սկսելով մեծատառով փոփոխականի անունով:

Հայտարարելով

Օգտագործված JavaScript- ում հայտարարության փոփոխականների համար var..

Var mytext; // Undefined MyText \u003d "Ողջույն!"; Ահազանգ (MyText);

Փոփոխականը հայտարարելուց անմիջապես հետո դրա արժեքը անորոշ է:

Դուք կարող եք նշանակել արժեքի փոփոխական, երբ հայտարարվել է.

Var mytext \u003d "Ողջույն!";

Կարող եք նաեւ մեկ VAR- ում հայտարարել մի քանի փոփոխական:

Var գումար \u003d 4 + 5, mytext \u003d "Ողջույն!";

VAR արժեքը նշանակելիս կարող եք բաց թողնել, բայց ավելի լավ է չանել:

Փոփոխականների տեսակները

JavaScript- ում կարող եք օգտագործել գծեր.

Var mytext \u003d "բարեւ!";

Ամբողջ համարները.

Var mynumber \u003d 10;

Կոտորակային համարներ.

var pi \u003d 3.14;

Տրամաբանություն արժեքներ.

Var isboolean \u003d կեղծ;

JavaScript Syntax- ի մանրամասները

Մեկնաբանություններ

Մեկ հարցում մեկնաբանությունները հատկացվում են «//»: Այս կերպարներից հետո ամեն ինչ գալիս է մեկնաբանություն:

Մեկնաբանելու համար անհրաժեշտ է օգտագործել «/ *» - ը `մեկնաբանության սկիզբը նշանակելու համար, եւ« * / »- ը մեկնաբանության ավարտը նշանակելու համար

/ * Ահա մեկնաբանված կոդը եւ դա նույնպես մեկնաբանություն * /

Օպերատորների տարանջատում

Օպերատորները տարանջատելու համար հարկավոր է օգտագործել «;»

Դա ցանկալի է, բայց պարտադիր չէ, որ օգտագործեք բացեր, տեքստի ընթերցանությունը բարելավելու համար:

Աշխատեք տողերով

var str \u003d 4 + 5 + "7"

կտա լարային արժեք » 97 »Փ.

Var str2 \u003d "7" + 4 + 5

կտա լարային արժեք » 745 »STR2- ում:

Փաստն այն է, որ ավելացնելիս արժեքը հաշվարկվում է հաջորդաբար `ձախից աջ: Երբ կա 2 համար, արդյունքը դառնում է թիվը: Երբ լարը եւ մի շարք ծալում են, թիվը ընկալվում է որպես լարային եւ երկու տողի համադրություն:

Տողի թարգմանություն

Լարը օգտագործված համարի փոխանցման համար parseint () մի քանազոր parsefloat ()

Այս գործառույթները ստանում են երկու փաստարկ: Առաջինը լարային է, որը թարգմանվելու է համարի եւ երկրորդի `համարի համակարգի հիմքը, որը կօգտագործվի թարգմանելու համար: Գիծը ընդհատել, ինչպես տասնորդական համար, դուք պետք է օգտագործեք 10-ը որպես երկրորդ փաստարկ

Var mynumber \u003d parseint ("345", 10);

JavaScript- ի գործառույթները

JavaScript- ում գործառույթները հայտարարվում են հետեւյալ կերպ.

Գործառույթի myFunction () (JS կոդ)

Վերադարձնելու համար անհրաժեշտ արժեքը Վերադարձ:

Գործառույթ MymultIlcation (Paramone, Paramone * Paramtwo)

Կարող եք հայտարարել «անանուն» գործառույթ `գործառույթի անվան անունը իջեցնելով:

Գործառույթը կարող է փոխանցվել որպես մեկ այլ գործառույթի պարամետր `նշելով դրա անունը:

Առարկաներ

JavaScript- ում բոլորը առարկա է:

Նոր հաստատություն ստեղծելը

Var անձ \u003d նոր օբյեկտ (); // օբյեկտի անձի անձի ստեղծում. FirstName \u003d "Andrew"; // Ավելացնել առաջին ատրիբուտի անձը .LASTNAME \u003d "Peterson";

Երկրորդ, օբյեկտ ստեղծելու համար ավելի կարճ տարբերակ

Var person \u003d (// օբյեկտի անձի ստեղծում) Անունը, «Էնդրյու», ազգանուն, «Պետերսոն», GetfulLName;

Աշխատեք օբյեկտի հատկություններով

var me \u003d նոր առարկա ();

Ես [«Անուն»] \u003d "Serg";
me.age \u003d 33;

Arrays in JavaScript

Ստեղծելով զանգված

Var arr \u003d Նոր զանգված (11, "Բարեւ!", True շմարիտ); // զանգված ստեղծել

Ձայնագրման նոր եղանակ

Var arr \u003d; // զանգված ստեղծել

JavaScript- ում զանգվածների հետ աշխատելը

Զանգվածի տարրերի քանակը

Var երկարություն \u003d arr. երկարություն; // 3.

Տարրեր ավելացնել զանգվածին - Հրել

arr.push («նոր արժեք»);

Զանգվածի վերջին տարրի արդյունահանում - փոփ

var lastvalue \u003d arr.pop ();

Զենքի համատեղում

var arre2 \u003d; var longarray \u003d arr.concat (arr2); // երկու arresses arr arr arr եւ arre2- ը մեկ երկար ժամանակ

Միացեք - Միավորել զանգվածի բոլոր տարրերը

var longstring \u003d arr.join (":") // "11: Բարեւ !: True"

Համեմատություն եւ տրամաբանական գործառույթներ JavaScript- ում

Ավելի քիչ

var istrute \u003d 6\u003e \u003d 5; // ավելի կամ հավասար

Հավասարություն

var isfalse \u003d 1 \u003d\u003d 2; // հավասար istrue \u003d 1! \u003d 2; // nonavo var alsotrue \u003d "6" \u003d\u003d 6;

Ինքնություն

var notidentic \u003d "3" \u003d\u003d\u003d 3 // Կեղծ, քանի որ տվյալների տեսակները չեն համընկնում notidentic \u003d "3"! \u003d\u003d 3 // ճշմարիտ, քանի որ տվյալների տեսակները չեն համընկնում

Եթե \u200b\u200bօպերատորը

Եթե \u200b\u200b(5.< 6) { alert("true!"); } else { alert("false!") }

Անջատիչ օպերատոր

Var lunch \u003d հուշում ("Ինչ եք ուզում ճաշի համար:" Տեսեք ձեր ճաշի ընտրությունը այստեղ); Անջատիչ (ճաշ) («Սենդվիչ». Console.Log ("Sure Thing! Մեկ սենդվիչ, գալիս է." Կրճատել. "Got it!" Ընդմիջում; «աղցան». Console.Log («Լավ է հնչում: Ինչ վերաբերում է կեսարյան աղցանի մասին»); ընդմիջում. «Կարկուտ». : Console.Log ("Huh! Ես համոզված չեմ, թե որն է« + ճաշը + »: Ինչպես է սենդվիչը հնչում»);)

Տրամաբանական եւ - &&

Եթե \u200b\u200b(1 \u003d\u003d 1 && 2 \u003d\u003d 2) (ազդանշան («ճշմարիտ է»);)

Տրամաբանական կամ - ||

Եթե \u200b\u200b(1 \u003d\u003d 1 || 2 \u003d\u003d 3) (ազդանշան («ճշմարիտ է»);)

Տրամաբանական ոչ -

Եթե \u200b\u200b(! (1 \u003d\u003d 1)) (ազդանշան («Կեղծ»);)

Ցիկլեր

Համար

համար (var i \u003d 0; i< 10; i = i + 1) { alert(i); } var names = [ "Sergey", "Andrey", "Petr" ]; for (var i = 0, len = names.length; i < len; i = i + 1) { alert(names[i]); }

Մինչդեռ

Մինչդեռ (ճշմարիտ) (// անսահման ազդանշանային ցիկլ («սա երբեք չի դադարի»);) var names \u003d [«Սերգեյ», «Անդրեյ»]; Մինչդեռ (names.lngth\u003e 0) (ազդանշան (անուններ [I]);)

Արա

Արեք (ահազանգ («Սա երբեք չի դադարի»);) մինչ (ճշմարիտ) (// անսահման ցիկլ

Տողեր

Տեքստ \u003d "Blah Blah Blah Blah Blah Blah Blah Blah eric blah blah eric blah blah eric blah blah \\ blah blah blah blah blah";

Substrings.

Երբեմն չեք ուզում ցուցադրել Ամբողջական. Լար, պարզապես դրա մի մասը: Օրինակ, ձեր gmail մուտքի արկղում կարող եք այն դնել յուրաքանչյուր հաղորդագրության առաջին 50 կամ այնքան կերպարների ցուցադրման համար, որպեսզի կարողանաք նախադիտել դրանք: Այս նախադիտումը ա ենթատող Բնօրինակ տողի (ամբողջ հաղորդագրությունը):

«Ինչ-որ բառ» .Substring (x, y) Որտեղ է X- ը, որտեղ դուք սկսում եք կտրել, եւ y- ն այն է, երբ դուք ավարտում եք բնօրինակ լարը:

Թվի հատվածը մի փոքր տարօրինակ է: «Բարեւ» -ի «Նա» ընտրելու համար դուք կգրեք սա. «Բարեւ»: Substring (0, 2);

Մտածեք յուրաքանչյուր կերպարի ձախ մասին, այսպես. 0-H-1-E-2-L-3-L-4-O-5:

Եթե \u200b\u200bդուք կտրում եք 0-ին եւ կրկին 2-ին, մնացել եք հենց նա:

Լրացուցիչ օրինակներ::

1. «Batman» - ի առաջին 3 տառերը
«Batman» .Սուբտրինգ (0.3)

2. «Laptop» - ի 4-րդից 6-րդ տառից
«LAPTOP» .ՍՈՒԲՍՏՐԱ (3.6)

  • Ինչպես մուտքագրել սցենարը HTML փաստաթղթում (ընդհանուր տեղեկատվություն).
  • Մեկնաբանություններ JavaScript- ի մասին.
  • Ինչպես հայտարարել փոփոխականներ եւ տալ նրանց ճիշտ անուններ.
  • Մեթոդների սցենարի եւ շարահյուսության վերլուծություն.
  • Ահազանգի () մեթոդ;
  • Օգտակար մանրուք, «Խրոց», ժամանակավորապես գործող հղման համար

Հեղինակից

Վեբ-էջեր ստեղծելու մեջ կան բազմաթիվ տարբեր նրբություններ: Բայց կան երեք whales: Սա HTML է, CSS եւ JavaScript:

Ես խորհուրդ եմ տալիս կազմակերպել ինքնուրույն կրթություն հետեւյալ կերպ. Հենց HTML շարահյուսությունը եւ սովորեք կատարել պարզունակ էջեր տեքստով, նկարներով եւ սեղաններով, պարզապես միացեք CSS- ի ուսումնասիրությանը: Հենց որ հասկանաք, թե ինչպես աշխատել CSS- ի հետ, սկսեք տիրապետել JavaScript- ին, բոլոր երեք լեզուներով «բառապաշար» զուգահեռ: Կարծում եմ, որ կես տարվա ընթացքում կարող եք կառուցել շատ գեղեցիկ եւ ֆունկցիոնալ տարածք:

Ես չգիտեի, թե ինչպես պետք է մոտենալ JavaScript- ին: Եղել են դասագրքեր կամ չափազանց վերացական `տեսություն, տեսություն, եւ պարզ չէ, թե ինչպես կարելի է այն պրակտիկորեն պրակտիկայում, կամ, ընդհակառակը, չափազանց կոնկրետ. Վերցրեք եւ ինչպես է այդ ամենը շրջադարձեր `ոչ ձեր մահացող բանը:

Ես ինչ-որ կերպ ստացա դասագիրք Վադիմ Դունաեւը: Շատերը, գիտեմ, փխրում են այս ձեռնարկը: Բացի այդ, ես ներբեռնեցի սառցե սկանավորված PDF, որտեղ «()» -ի փոխարեն կարող էր լինել «Q» - ը եւ ծածկագրերի լատինական տառերը փոխարինվում են նման ռուսների, այդ իսկ պատճառով այդ ծածկագրերը չեն աշխատում: Ընդհանրապես, ես ստիպված էի բռնել: Եվ, անկեղծ ասած, եթե նախկինում որեւէ բան չկարդայի JavaScript- ի մասին, ես չէի հասկանա այս սխալները եւ միացա հայհոյանքների քանակին: Բայց հետո ես նստած էի առանց աշխատանքի, ժամանակն էր ներթափանցել, եւ ինձ դուր եկավ դասագիրքը: Բայց դա շատ մանրամասն եւ նախագծված է այն մարդկանց համար, ովքեր արդեն շփման են ենթարկվել ծրագրավորման հետ:

Նշում 2012 թ.

Հիմա, մի քանի տարի անց, եւ ես բուժում եմ այս դասագրքը առանց հին հրճվանքի: Նա հնացած է, «խստացված» IE- ի տակ բավականին մակերեսային է. Կան նաեւ իրական սխալներ եւ անփութության կոդ, եւ որոշ օգտակար բաներ չեն գտնվել: Բայց համեմատած այդ «CrayFrame Leaders» - ի հետ, որը առատորեն թողարկված որոնիչներին է, դա ինչ-որ բան էր:

Այսպիսով, ես ուզում եմ փորձել սպանել երկու նապաստակ: Գրեք ինչ-որ պարզ բան ցանկացած թեյնիկի եւ միեւնույն ժամանակ կառուցողական ճանաչողական: Որպեսզի այս թեյնիկը իմ խորհուրդների հիման վրա կարող էր գրել, թող պարզ, բայց լիովին բնօրինակ սցենար:

Տեղադրեք HTML փաստաթղթում

Դուք հավանաբար տեսել եք նման պիտակներ HTML կոդերում.

Այս Abr5adabra- ն պիտակների միջեւ է, եւ կա սցենար:

Իրեն պիտակ

Այս հատկանիշը պարտադիր չէ: Արժե օգտագործել կամ պարզաբանել լեզվի տարբերակը (Javascript1.1, JavaScip1.2 եւ այլն), կամ եթե մեկ այլ լեզու եք օգտագործում (օրինակ,

Տեսակը հատկանիշ, որը ցույց է տալիս տեքստի տեսակը. Տեքստ / JavaScript:, Այն հայտնվեց HTML 4.0 տարբերակում: Ես խորհուրդ եմ տալիս օգտագործել այն:

Նախքան հատկանիշ տեղափոխվելը ՊԵԿ, Պարզեք, թե HTML կոդի որ միջնապատերը կարող եք մուտքագրել գրություններ:

Ցանկացածում: Բայց մտքով:

Հաճախ սցենարը ցույց է տալիս հատուկ տեքստի դուրսբերում, որը կոչվում է այստեղ եւ այժմ: Այս սցենարը տեղադրված է ուղղակիորեն մեջ «Դեպքի վայրում»:

Գոյություն ունեն գրություններ `փոփոխական գովազդներով, որոնք կարող են օգտագործվել էջի այլ գրություններում, գործառույթներով, որոնք կարելի է զանգահարել HTML կոդի ցանկացած վայրից: Նման սցենարներն առավել խելամիտ են պիտակների միջեւ մի քանազոր .

Բայց դուք կարող եք դա անել, սցենարը անմիջապես օգտագործելով բազմաթիվ վեբ էջերում: Դա անելու համար դրա ծածկագիրը պետք է գրանցվի առանձին ֆայլում `երկարաձգմամբ .js. (օրինակ, myScript_1.js.): Կուն Այլեւս անհրաժեշտ չէ գրել դրանում:

Եվ հետո, վեբ էջից սցենարը զանգահարելու համար մեզ անհրաժեշտ կլինի հատկանիշ ՊԵԿ, Այն աշխատում է ինչպես նաեւ նմանատիպ պիտակի հատկանիշ :

Այսպիսով, սա տեղադրված է տարբեր էջերում, սցենարի ֆայլում գրանցված նույն գլխարկը կամ ցանկը: Հատկապես դա օգնում է այն հոստինգին, որտեղ SSI- ն չի անցնում:

Կարող եք նաեւ փոքր սցենարներ տեղադրել HTML պիտակների որոշ հատկանիշների մեջ, բայց մի փոքր ավելի ուշ:

Երբեմն սցենարը պետք է տեղադրվի հենց վերջում: Մարմին: կամ նույնիսկ փակվելուց հետո Օրինակ, եթե մեզ անհրաժեշտ է, նախքան սցենարը գործածելը, այն ուսումնասիրում է փաստաթղթում գտնվող բոլոր հղումները կամ բոլոր նկարները: Բայց դրա մասին `նույնպես, ավելի ուշ, երբ պարզում ենք JavaScript մեխանիզմները: Կարող եք կլպել:

Մեկնաբանություններ

Ասում են, դեռ կան այնպիսի զննարկիչներ, ովքեր չեն հասկանում գրությունները: Meyaki օգտվողները, ովքեր այնքան հակված են անվտանգորեն անջատել գրությունները: Այս իրավիճակում սցենարը չի մահապատժի ենթարկվի, բայց դրա ծածկագիրը, նույն «Աբրակադաբրը», պարզապես ընկնում է էկրանին:

Այնպես որ, որպեսզի չընկնի, մենք այն եզրակացնում ենք HTML մեկնաբանություններում:

MMM ... Եվ որն է այս երկու կտրատումը մեկնաբանություն փակելուց առաջ:

Փակման մեկնաբանությունն արդեն գտնվում է սցենարի «մարմնում»: Եվ JavaScript- ը չի հասկանում այս գանգուղեղային HTMLS «երկնքի փակագծերը, նրա համար սա սխալ է առաջացնում օտարերկրացիներից: Դրանից հետո սցենարից հետո դա չի տեսնում HTML փակման փակագիծը, եւ HTML- ն ապահով կերպով թաքցնում է սցենարի տեքստը, եւ էկրանին «ձախ» գրառումներ չեն տեսանելի:

Քանի որ մենք շոշափեցինք մեկնաբանությունները, ես պետք է ասեմ, որ JavaScript- ում նրանք ունեն երկու ձեւ, նույնը, ինչպես C եւ C ++ ում (եւ CSS- ի ճանապարհով):

// Այս մեկնաբանության ձեւը // Վավեր է միայն մեկ տողի վրա, // Այսինքն `յուրաքանչյուր նոր տողի վրա // Ձեզ անհրաժեշտ է մեկնարկել մեկնաբանության նշան: Եվ սա սցենարի ծածկագիրն է ... / * Եվ այս մեկնաբանության ձեւը գործում է այնքան տողեր, քանի դեռ այն չի մղում փակման պատկերակը, հայելին արտացոլում է նախնական: * / Եվ հիմա կրկին սցենարի ծածկագիրը ...

Մի շփոթեք HTML մեկնաբանություններին եւ JavaScript- ի մեկնաբանություններին: Սրանք տարբեր լեզուներ են, չնայած նրանք գոյատեւում են «մեկ շիշը»: Կամ, ավելի ճիշտ, մեկ բանկում: Սարդերի նման ...

Եկեք վերադառնանք քայքայված զննարկիչների խնդրին: Ենթադրենք, JavaScript- ով, դուք երկու նկարներից ինչ-որ բան եք պատրաստել անիմացիոն դրոշի նման: Այնուհետեւ կարող եք գոհացնել «աղքատ» զննարկիչների օգտագործողներին (եւ, ես, հուսով եմ, լիովին զերծ չէի ալտրուիզմից), այդ նկարներից առնվազն մեկի տեսքը `պիտակի օգնությամբ

Ինչ խմբագիրներն են գրություններ գրում

Գուցե JavaScript- ի համար կան որոշ հատուկ խմբագիրներ: Ես ոչ ոքի չեմ հանդիպել եւ շատ նայեցի: Սովորաբար գրությունները գրված են նույն խմբագիրներում, որոնք օգտագործվում են վեբ էջեր ստեղծելու համար: Օրինակ, ես սիրում եմ հայրենիքը: Այս խմբագրություններում սցենարը գրելը ոչնչով չի տարբերվում այն \u200b\u200bպարզ նոթբուքում գրելուց, բացառությամբ կոդի լուսավորության: Եվ դա երբեմն շատ է օգնում: Ես ներբեռնեցի մի անգամ սցենար (որոշ գերմաներեն), եւ դա չի գործում: Ես նայեցի կոդին եւ տեսա, որ հիմնաբառը Տեղավորել Ինչ-ինչ պատճառներով, որը չի հատկացվել: Ես նայում եմ - եւ չկա Տեղավորել, բայց swersch., Դոններ, ավելի խոնավ: Ես հանեցի հաճարենին եւ գնացի:

Ի դեպ, մեր բոլոր օրինակներով, ծածկագիրը ճիշտ է թվում տանտիրոջ պատուհանում:

Քարհանքի սենյակից

Հետեւյալ օրինակը Դունաեւի գրագողությունն է: Բայց նա այնքան պարզ եւ խորն է, որ չեմ կարող դիմադրել: Ես այստեղ ավելացրեցի ձայնագրման դիզայնի որոշ մանրամասներ, միեւնույն ժամանակ եւ դրանց բացատրությունը:

Անմիջապես նախազգուշացնում եմ ձեզ. Գրեթե այս օրինակը բացարձակապես անօգուտ է: Բայց այն կենտրոնացնում է JavaScript Language- ի եւ դրա շարահյուսության շատ կարեւոր հասկացություններ:

Օրինակ 1.

Իրականում սցենար

Եթե \u200b\u200bայս ծածկագիրը պատճենեք Notepad Net NotEn- ի էջում եւ պահեք այն որպես ֆայլ: HTML, ապա ֆայլը բացելիս կտեսնեք հետեւյալը.

Զարմանենք, թե ինչպես է դա դուրս գալիս:

var x \u003d 5;

Այստեղ մենք հայտարարում ենք փոփոխական X- ը, որը հավասար է 5-ի:

Դադարեցրեք Գիտեք ինչ է փոփոխականը:

Եթե \u200b\u200bոչ, կտտացրեք սա եւ կարդացեք բացատրությունը:

Ինչպես է աշխատում համակարգիչը: Բոլոր տվյալները պահվում են սկավառակի վրա, եւ այն վայրը, որտեղ նրանք ստում են, պետք է նշվեն, թե ինչպես փնտրել: Project անկացած ծրագիր (եւ սցենարը ոչ այլ ինչ է, քան փոքր ծրագիր) աշխատում է որոշ տվյալների հետ: Հետեւաբար, հարմար է անհապաղ «տեղավորել» նրանց համար: Այս տեղը սա է Նշված հիշողություն Եւ փոփոխականը դառնում է: Ինչու «փոփոխական»: Քանի որ այս տարածքը կարող է լցվել տարբեր արժեքներով: Օրինակ, երբ մենք աշխատում ենք հաշվիչի հետ, նրանց հետ թվերն ու գործողությունները, որոնք մենք մուտք ենք գործում, արձանագրվում են համապատասխան փոփոխականներով: Եվ երբ սեղմում եք կատարման կոճակը, ալգորիթմը օգտագործում է մեր մուտքագրած արժեքները:

Ծրագրի օրենսգրքում փոփոխականները նշվում են այն անուններով, որոնք մենք իրենք ենք հնարում նրանց համար: Անուններ ստեղծելու համար կան որոշակի կանոններ, որոնք կարող են տարբեր լինել ծրագրավորման տարբեր լեզուներով: Այն սահմանափակումները, որոնք նկարագրվելու են ստորեւ, ներառեք հատուկ JavaScript- ին:

var. - Կենցաղային կարգի հայտարարագրման համար (անգլերեն փոփոխականի մեջ):

x. - փոփոխականի անվանումը:

Սահմանափակումներ. Փոփոխական անունով կարող են օգտագործվել միայն լատինական տառերը (ցանկացած գրանցամատյան), համարների եւ խորհրդանիշի խորհրդանիշը: Այս դեպքում փոփոխականը չպետք է սկսվի թվերից: Եւ ոչ մի բաց:

Right իշտ փոփոխական անուններ.

Սխալ փոփոխական անուններ.

JavaScript Language- ը զգայուն է գրանցամատյանում:

myvar., Myvar. մի քանազոր myvar. - Տարբեր փոփոխականներ:

(Ի դեպ, գրանցամատյանի մասին: Լեզվի անունը ինքնին գրված է մեծ J եւ S. JavaScript- ով: Կա սխալ պատկերացումներ Գրանցվել, այնպես որ կարող եք գրել, ինչպես ուզում եք: Ես սովոր եմ քիչ, ինչպես իմ սիրած տնային տնտեսուհիները, ինչ-որ մեկը `մեծ):

Այս սցենարում փոփոխականը անմիջապես ժամանակ է նշանակվում: Պարտադիր չէ: Արժեքը կարող է նշանակվել ավելի ուշ: Գծի վերջում մի կետ է ստորակետով: Սա այս դեպքում նույնպես անհրաժեշտ չէ: Բայց մեծ եւ բարդ սցենարներում դա երբեմն կարեւոր է, ուստի ես ցույց եմ տալիս ամբողջական մանրամասն մուտք: Dunaev- ն այս լարը արդար է x \u003d 5:, Բացահայտ հայտարարություն var. Այստեղ նույնպես անհրաժեշտ չէ: Բայց (IMHO) դեռ նախընտրելի է:

Հաջորդ տողում, ինչպես արդեն կարող եք կռահել, հայտարարված փոփոխականը Յ., Նրան տրվել է արդեն հայտարարվածի իմաստը x., 3-ից ավելին x..

Եվ հետո կոչվում է մեթոդը Ահազանգ ().

Այս մեթոդը ցույց է տալիս երկխոսության տուփ, փակագծերում նշված հաղորդագրությամբ: Սա JavaScript բոլոր մեթոդների շարահյուսությունն է. Մեթոդի անվանումը եւ փակագծերը դրա բովանդակությամբ:

Այս մեթոդի բովանդակությունը փոփոխական y- ի արժեքն է, եւ երկխոսության մեջ մենք կտեսնենք ութը: Հասկացվեց, թե ինչու:

Օգտակար մանրուքներ

Քանի որ մենք հանդիպեցինք մեթոդի հետ Ահազանգ ()Այնուհետեւ ահա դրա պարզ եւ օգտակար դիմումը. Երբեմն կայքի որոշ էջեր դեռ չեն արվել, եւ հղումները արդեն պատրաստված են: Տհաճ է հասնել «Էջ 404» -ին: Նաեւ շատ հաճելի չէ սպասել մինչեւ այն կոշիկները, այնուհետեւ պարզեք, որ մշակման բաժինը: Ես միշտ արգելակում եմ հետեւյալ հղումները հետեւյալ կերպ.

«JavaScript. Alert (« Էջ մշակում »);"
\u003e Menu անկի տարր

Ի դեպ, ահա JavaScript- ի կոդը HTML կոդի իրականացման մեկ այլ միջոց է: Այստեղ այն տեղադրվում է ատրիբուտի մեջ href. Tag Refere եւ ներդրվել է հիմնաբառի միջոցով » javaScript:«(Մի աղիքով եւ դրան հաջորդող տարածքով. Միշտ ուշադրություն դարձրեք սինթետիկ մանրուքին): Ուշադրություն դարձրեք HTML ատրիբուտի արժեքի ավանդական կրկնակի մեջբերումներին եւ «բույն» միայնակ մեջբերումները հենց սցենարի տեքստում:

Օրինակ, շատ շուտով մենք կսովորենք HTML պիտակների հատուկ «իրադարձության» հատկանիշների մասին, օրինակ, Միլիկորոնք հատուկ նախագծված են JavaScript ծածկագիրը ներդնելու եւ հիմնաբառ չեն պահանջում:

Այսպիսով, մենք սովորեցինք.

Ինչպես գրել սցենարը HTML փաստաթղթում, որի ձեւերն ունեն JavaScript- ի մեկնաբանություններ, ինչպես կարելի է փոփոխականներ հայտարարել եւ տալ ճիշտ անուններ, ինչպես նաեւ մեթոդների () մեթոդի շարահյուսությունը:

Եւ նաեւ սովորել.