JavaScript programozási nyelv: Információ kezdőknek. Amit tudnod kell, minden egyes JavaScript fejlesztő felelős a JavaScript programozóért

A cikk adaptált fordítása "Teljes verem JavaScript hat héten: Egy tanterv útmutató"

A webfejlesztés az egyik legegyszerűbb és legnépszerűbb irány a kezdő programozók között. A munka meglehetősen bárki szöveg szerkesztő és böngésző, nem szükséges az algoritmusok előrehaladott szintjén, a program minden egyes lépésének eredménye vizuálisan - általában sok előny. A webfejlesztés keretében kulcsfontosságú készségek a tudás JavaScript.

Most a JavaScript nagyon gyorsan fejlődik, ezért a nyelv megtanulásakor könnyen zavaros. Kínálunk Önnek egy olyan tantervet, amelynek kényelmes szerkezete van, amely lefedi a JavaScript és a kapcsolódó technológiák összes szükséges aspektusát.

Miért JavaScript?

Érdemes megjegyezni a nyelvi társaságok nyitottságát, általában egymással versengő, együttműködnek a Javascript fejlesztése érdekében. A nyelv nagyon rugalmas, és megfelel az objektumorientált és funkcionális megközelítés támogatóinak. Hatalmas számú könyvtár és keretrendszer lehetővé teszi, hogy könnyen megoldani bármilyen típusú feladatokat, és a NODE.js szerver platform lehetővé teszi a nyelv használatát, nem csak a böngészőben, hanem a konzolban is. Még asztali számítógépeket is írhat mobil alkalmazások: Először - az elektron keretrendszerrel, a második pedig a nativipript-on vagy reagáljon natív.

Alapok

Először meg kell vizsgálni a JavaScript, a webfejlesztés és a programozás alapvető koncepcióit:

  • objektumorientált JS - tervezők és gyárak, öröklés;
  • funkcionális JS - magasabb rendű funkciók, lezárások, rekurzió;
  • jázmin vizsgálati specifikáció;
  • a HTML, a CSS és a JQUIERY alapjai.

Git.

A GIT a fejlesztőknek szüksége van, ezért a lehető leghamarabb szüksége van. Itt vannak az alapvető készségek, amelyeket meg kell rendelkeznie:

  • fájlok létrehozása és mozgatása a könyvtárakban;
  • inicializálás és elkötelezettség a gitben;
  • a tárolók beállítása a Githubban.

Algoritmusok és adatszerkezetek

Ezután érdemes megvizsgálni az algoritmusokat (különösen az algoritmusok összetettségének fogalmát), valamint az alapvető adatszerkezetek: csatlakoztatott listák, sorok, halom, bináris keresési fák és hash asztal. Ez segít Önnek.

Backend

Csomópont.js.

10 évvel ezelőtt a JavaScriptet csak a frontend fejlesztéséhez lehetett használni. Most a node.js-nek köszönhetően az ügy nem korlátozódik egy "frontra". A csomópont csak egy olyan környezet, amely a JS kód végrehajtásához a kiszolgáló oldalon, így nem kell tanulmányozni az új szintaxist, de be kell importálnia és exportálnia a fájlokat, meg kell osztania a kódot a modulokra, és használja az NPM csomagkezelőt.

Szerverek, http, express.js

A csomópont tanulmányozása után továbbra is meg kell ismerni a backend fejlesztési és rendezvényeket és útválasztást. A portokból és protokollokból kiindulhat a HTTP-n, majd egy expressz-csomópontos könyvtárat készíthet a kérések kezelésére.

Aszinkron JavaScript.

Adatbázisok, sémák, modellek és orm

Az adatbázisok a webfejlesztés egyik legfontosabb eleme. Ha az alkalmazásnak letölteni vagy tárolni kell azokat az adatokat, amelyek nem veszítenek el, az oldal frissítése során az adatbázist kell használniuk. Meg kell tanulni megkülönböztetni a relációs és nem relációs adatbázisokat, és megérteni a kapcsolatok típusát. Akkor, hogy megismerkedjen másokkal. Az ORM-vel való együttműködés képessége nem lesz felesleges is.

Frontend

HTML és CSS.

A HTML és a CSS az alapok alapja a webfejlesztő számára. Nem kell tökéletesen ismernie őket, de meg kell értened őket. Ön is felfedezheti a népszerű könyvtárat (például a bootstrap) és a CSS preprocesszor, mint a SASS - ez segít abban, hogy a CSS hasonló legyen a szokásos kódhoz. A HTML-vel való egyszerűsítés egyszerűsítése érdekében kiválaszthatja az egyik népszerű sablonosítót, például mopszot.

jquery és manipulation dom

Miután létrehozta az oldal megjelenését segítsen html-nek És CSS, akkor a jQuery könyvtárat a DOM vezérléséhez használhatja. Sokan úgy vélik, hogy a jquery haszontalan, és hamarosan szögletes és reagál, de őrülten népszerű, ezért érdemes tudni. Ezenkívül egy nap olyan helyzetbe fogsz esni, ahol kényelmetlen lesz a reagálási mikroszkóp pontszámát, majd könnyű jquery lesz a mentéshez.

Chrome fejlesztői eszközök

Megnézhetetlen lenne, hogy megoszthassák a krómeszközök figyelmét, amelyek hatalmas lehetőséget adnak. Ezekkel tanulmányozhatja a DOM elemeket, hibakeresését a konzolon keresztül, nyomon követheti az útvonalakat és még sok másot. Az alábbiak a krómkonzol kényelmes tulajdonságai, amelyek egyszerűsítik a rutinfeladatok végrehajtását.

Ajax

Ha azt szeretné, hogy az alkalmazás ne újratöltse az oldalakat minden egyes adatbázis-művelet után, akkor biztosan szüksége van Ajax - Háttér aszinkron HTTP-kéréseket küld, a válaszok, amelyekre csak a kijelző egy része frissül. Az AJAX segítségével a Method.ajax segítségével dolgozhat.

A programozás nem csak egy módja annak, hogy nagy pénzt kereshessünk, és ne csak teljesen mentális munkát. Ez egy lehetőség arra, hogy megértsük, hogy a körülötte lévő világ a kis részecskékké válik, majd újra összeállítja, saját logikája és ismerete.

A programozási nyelvek csak olyan eszköz, amellyel egy személy szabályokat épít a létrehozott rendszerekben.

Az internet sok lehetőséget kínál arra, hogy a fényes és vállalkozói elmék lefoglalják. Természetesen a webfejlesztésnek is saját eszközei vannak az ötletek életre való megvalósítására. Egyikük - nyelv javaScript programozás amelyet ebben a cikkben tárgyalunk:

Általános információ

Sok ember, még nincs kapcsolat az IT-gömbhöz, hallotta a Java szót. Forradalmi független nyelv azon nyelven, amelyen az alkalmazások aktívan írnak mobil rendszerek. Ezt az ígéretes Sun Company fejlesztette ki, amely aztán átlépte a "Wing" Oracle alatt. De egyik sem sem egy másik vállalatnak semmi köze a JavaScripthez:

A Naptól csak engedélyt kapott a név részének használatára. Meglepő módon a JavaScript egyáltalán nem rendelkezik céggel.

A webes alkalmazások írásakor a JavaScript programozást leggyakrabban használják. Ha röviden lista főbb jellemzők Ezt a nyelvet a következőképpen kell kiválasztani:

  • Objektum orientált. A program végrehajtása az objektumok kölcsönhatása;
  • Az adattípusok automatikus végrehajtása automatikusan történik;
  • A funkciók az alaposztály tárgyai. Ez a funkció a JavaScript-ot hasonlít a sok funkcionális programozási nyelvhez, például a LISP és a HASKELL-hez;
  • Automatikus memória tisztítás. Az úgynevezett szemétgyűjtés a JavaScripthez hasonlóan a C # vagy Java-hoz hasonlóan.

Ha a JavaScript használatának lényegéről beszélünk, akkor ez a nyelv lehetővé teszi, hogy "újjáéledjen" fix oldalakat az elindítható kód segítségével ( úgynevezett szkriptek). Vagyis analógiát készíthet olyan rajzfilmekkel, ahol a HTML és a CSS a pro-kezes hősök, és a JavaScript az, ami mozog.

Ha JavaScript szintaxisról beszélünk, akkor a következő funkciók rejlik:

  • Fontos. Funkciók Func () és Func () nevek - teljesen más;
  • Az üzemeltetők után vesszővel kell helyezni;
  • Beépített tárgyak és műveletek;
  • A tereket nem veszik figyelembe. Használhatja, hogy hány francia bekezdés, valamint karakterlánc fordítások a kód megszervezéséhez.

A JavaScript legegyszerűbb kódja így néz ki:

Hatály

Annak érdekében, hogy megértsük, miért szükséges a JavaScriptet, és mennyit kell tanulni, néhány olyan területet, ahol alkalmazzák ez a nyelv Programozás.

  • Web alkalmazásfejlesztés. Szeretne egy egyszerű számlálót telepíteni, gondoskodni adatátvitelt az űrlapok között, vagy helyezze be a webhelyét? Ezután a JavaScript hűséges asszisztenst fog tenni ebben a kérdésben;
  • "Aktív részvétel" az Ajaxban. Ez a technológia jelentősen felgyorsult alkalmazásokkal, az adatcserével a kiszolgálóval a "Háttér" módban:
  • OS. Talán valaki nem tudta, de a Windows, a Linux és a Mac böngésző versenytársaival rendelkezik, az oroszlán részesedése, amelynek kódja JavaScriptben van írva;
  • Mobil alkalmazások;
  • A képzési kör. Az egyetemen bármely programozói specialitás magában foglalja a JavaScript tanulmányát egy vagy más módon. Ez annak köszönhető, hogy a nyelvet eredetileg nem túl erős programozóként fejlesztették ki. A JavaScript leckék logikusan az alap HTML-tanfolyamra vannak szőttek, így a fejlesztés egyszerűen elegendő.

Előnyök és hátrányok

Ne gondolja, hogy a JavaScript valamiféle pazacáta minden problémáról, és minden olyan programozó, aki az arcon mosolyog, élvezi ezt a nyelvet. Minden a világon saját pozitív és negatív oldala van. Kezdjük, megjegyezzük a hiányosságokat.

  • A böngésző biztosításának szükségessége. Mivel a JavaScript internetes technológiaként működik, akkor fel kell tenned a világhálót létrehozó szabályokat. A kódot megfelelően kell elvégezni, vagy legalábbis a legnépszerűbb böngészők;
  • Az öröklési rendszer a nyelvben nehézségekbe ütközik, hogy megértsük, mi történik. A Javascript a prototípusokon alapuló örökséget hajtott végre. Azok, akik más objektumorientált programozási nyelveket tanultak, megszokják a szokásos módon " osztályú leszármazott örökli a szülőosztályt" De a JavaScript esetben az ilyen dolgok közvetlenül részt vesznek az objektumokban, és ez nem illeszkedik a fejébe;
  • Hiányzó szabványkönyvtár. A Javascript nem nyújt semmilyen lehetőséget a fájlokkal, I / O patakokkal és más hasznos dolgokkal;
  • A szintaxis egésze megnehezíti a megértését. A kód szépsége nyilvánvalóan nem JavaScript suttle, de a programozók fő szabálya megfigyelhető: " Művek? Ne próbáld meg!».

Most érdemes megjegyezni néhány előnyt

  • A JavaScript rendelkezik nagyszámú lehetőségek a különböző feladatok megoldására. A nyelvi rugalmasság lehetővé teszi, hogy több programozási sablonot használjon a konkrét feltételekhez képest. A találmány szerinti elme megkapja a jelen örömöt;
  • A JavaScript népszerűsége jelentős mennyiségű készenléti könyvtárat nyit meg a programozó előtt, amely lehetővé teszi, hogy jelentősen leegyszerűsítse a kódírást és a szintaktikai tökéletlenség szintjét;
  • Alkalmazás sok területen. A széles körű JavaScript funkciók lehetővé teszik a programozóknak, hogy kipróbálják magukat a különböző alkalmazások fejlesztőjének, és ez határozottan fűthető a szakmai tevékenységekben.

Ne figyeljen arra, hogy a mínuszok többet kaptak, mint az előnyök. A JavaScript határozottan rögzítette a réseit, és nincs kritika innen ebben a pillanatban Nem választja.

Azok számára, akik tanulni akarnak

Egy nehéz és hosszú út azoknak, akik úgy döntöttek, hogy alaposan megtanulják a JavaScriptet. A kezdőknek alapvető ajánlások vannak, amelyek követhetők, hogy jelentősen leegyszerűsíthető képzésüket.

  • Először is, html. Lehetetlen elkezdeni valamit az interneten az alapok alapjai nélkül. A Cascading Style Sheets (CSS) nagyon hasznos lesz;
  • Használjon új irodalmat. A programozás nem a fizika, amelynek törvényei elengedhetetlenek, és új tankönyvek vannak vágva. Az informatikai technológiák folyamatosan fejlődnek, és nem szabad hasznos frissítésekkel elhanyagolni;
  • A program összes szakaszának megírása. Ha valami egyáltalán nincs, kiderül - kölcsönözhet valaki más kódját, de csak előre megértené magát minden sorban;
  • A hibakeresés a hűséges barátod. Gyorsan keressen hibákat - az egyik a legfontosabb pontok a programozásban;
  • Ne hagyja figyelmen kívül a formázási normákat. Természetesen a kód nem lesz jobb vagy rosszabb egy másik számú francia és tereket, de a könnyű elolvasása és megértése a programozó is fontos pillanatban. Az alábbi kód? nagyon nehéz észrevenni, különösen ha nem az ő
  • A változó neveknek lexikai értékkel kell rendelkezniük. Az írás folyamatában egyszerű programok Úgy tűnik, hogy egyáltalán nem fontos, de ha a kódok száma a kód tekercs több mint ezer - minden ördög törés lábak;

A JavaScript folyamatosan fejlődő nyelv, különösen most, amikor egy éves ECMAScript specifikáció frissítési ütemtervet hoztak létre. E tekintetben a JavaScript ismeretek jelentősége a jQueryen kívül nő.

Természetesen ebben a cikkben nem fogjuk képesek fedezni a tudás teljes szükségességét. Biztosan olyan pillanatok lesznek, amelyek hiányoztak, talán tévedtem, vagy a szükséges tudáskészletekkel kapcsolatos véleményünk eltérő lesz.

Tekintettel ezekre a szempontokra, kezdjük el ...

Mi a fizizbiz teszt

Fizzizizz - Rendszerint egy kis teszt, amelynek célja a tapasztalatlan fejlesztők forgácsolása. Azt hiszem, meglepődsz, hogy hány JavaScript fejlesztő nem tudja, hogyan kell ilyen teszteket írni.

Általában ezek a vizsgálatok nem hordoznak nagy értelemben. Ez kizárólag a potenciális jelöltek képességeinek ellenőrzésére irányul.

Ne feledje, a valószínűség, hogy felkérik, hogy végezzen egy hasonló tesztet az interjúban nagyon nagy.

Példa a klasszikus fizizbizz tesztre:

Az ilyen vizsgálatokhoz szükséges lehetőségek korlátlanok. Egyszer, az interjúban egy ilyen tesztet futottam, majd két további lehetőséget kellett megoldanom.

Mert (var i \u003d 1, i<= 100; i++) { if (i % 15 == 0) { console.log("FizzBuzz"); } if (i % 3 == 0) { console.log("Fizz"); } if (i % 5 == 0) { console.log("Buzz"); } }

A különbség a \u003d\u003d és \u003d\u003d\u003d

Valószínűleg ismeri mindkét összehasonlító üzemeltetőt. Mindazonáltal tudod, hogy pontosan ezek az operátorok különböznek egymástól? A JavaScript LINITE megköveteli, hogy alkalmazzon egy operátort \u003d\u003d\u003d, azon tűnődött, miért?

Nem hasonlítja össze az operandusok típusát, hanem egy típushoz vezet. Az ilyen műveletnek negatív hírneve van.

Konzol.log (24 \u003d\u003d "24"); // igaz.

Amint látja, 24-es karakterlánc (egyetlen idézetben) egy egész számot adtunk. Természetesen vannak olyan helyzetek, ahol pontosan és akár akarod, de leggyakrabban az összehasonlító kezelő manipulált adattípusokat kívánja vezetni. Az adatok összehasonlítása a kezelővel \u003d\u003d nem ajánlott, a legtöbb rendszer a JavaScript stíluskód ellenőrzésére jelzi ezt a hibát.

\u003d\u003d\u003d (szigorú összehasonlítás) összehasonlítja az adattípusokat, anélkül, hogy egy típusra konvertálnánk, azaz az adatok összehasonlítása, mint az. Továbbá, mivel a típusok típusa nem vesz részt ebben a műveletben, gyorsabban működik. Annak érdekében, hogy ez az operátor helyesen kerüljön ki, az azonos típusú üzemeltetőkre lesz szükség.

Ugyanazt a példát, de a kezelővel \u003d\u003d\u003d

Konzol.log (24 \u003d\u003d\u003d "24"); // Hamis

Válaszul FALSE-t kapunk, mivel a különböző típusú operandusok, az egyik az egész típusú, és a második karakterlánc.

Hogyan válasszuk ki a DOM elemeket további könyvtárak nélkül

Biztosan ismeri, hogyan készítsünk egy mintát az elemekről a jquery használatával, de ugyanezt teheted, de a könyvtár segítségével?

Úgy értem, nem csak válasszon egy elemet egy adott azonosítóval vagy osztálykészletekkel, olyan kifejezésekről beszélek, amelyek a jQuery használatával keresek.

Számos natív módszer létezik a Dom elemek keresésére, amelyek nem rosszabbak a jquery-tól. Az első gyermek, az utolsó gyermek típusú választékokat is használhatjuk stb.

Ismerje meg ezeket a módszereket

  • a Document.getElementbyid egy klasszikus módszer az ID-nek az azonosítójuk megtalálásához.
  • document.getElementsbyClassName - Elemek kiválasztása az osztálynév mező értékén
  • document.QuerySelector egy kiváló módszer, amely gyakorlatilag teljesen felváltja a $ () választót a jquery-ről, de már szerepel a JavaScriptben. Az egyetlen különbség az, hogy csak az első elemet adja vissza.
  • dokumentum.QuerySelectorall - Az előző módszer analógja, de visszaadja a talált elemeket.
  • document.getElementsbytagname - Ez a módszer segít kiválasztani az elemeket címkével. Ha meg kell találnia az összes DIR elemet, akkor szüksége van erre a módszerre.

Azt is megjegyzem, hogy a Queryselector és a QuerySelectorallall módszerei nemcsak az egész dokumentumon, hanem az egyes elemeken is használhatók, azaz a minta egy szülőelemen belül is megtehetjük.

A Mozilla dokumentációjában megtalálja az ilyen módszerek teljes leírását.

Növelje a változók és funkciók hirdetéseit

A Javascript érdekli, hogyan működik a bejelentett változók és funkciók, mindegyik automatikusan felemeli a hatókörét. Így a láthatóság körében hivatkozhat rájuk (például a JavaScript funkciói saját hatókörének).

Ezért a kódolásának kényelmét, hogy a szabályt a hatókör elején mindig kijelentesse a változókat. Ha a parancsfájl vagy funkció tetején "Használja a szigorúságot", akkor egy szükségtelen változó elérésekor hibát kap.

A kód stílusának ellenőrzésére szolgáló eszközök, mint a JSHINT, akkor hibát jelez, ha nem használta a "STRICT használatát", ebből ered, ha jó kódot szeretne írni, akkor bármilyen esetben nem fog változni varangy. Mint mindig, ha vannak kérdések, forduljon a Mozilla dokumentációjához, akkor mindig megtalálja a probléma teljes és átfogó leírását.

A Fejlesztői eszközök használata a böngészőben

Leggyakrabban az ilyen eszközöket használják a JavaScript parancsfájlok hibakereséséhez, de funkcionalitásuk nem korlátozott. Például használhatja a stoppontot, hajtsa végre a szkript lépésről lépésre, írjon egyszerre minden egyes funkciót.

Ezek az eszközök nélkülözhetetlen segítséget nyújtanak, mivel teljesen nyomon követheti az alkalmazás működését, és megtalálhatja a bajba jutott területeket.

Miután megtudta, hogy alkalmazza a fejlesztői eszközöket ilyen böngészőknek, mint a Chrome, Firefox és az Internet Explorer legújabb verzióiban, akkor hibakeresés a forgatókönyve, mérje meg sebességét, és olyan helyeket találhat, ahol érdemes javítani a munka algoritmust.

Soha ne próbálja meg vakítani a kódot vakon, először mindig elemzi a fejlesztői eszközök segítségével. A nem létező problémák megoldása haszontalan kiadási idő.

Konzolcsapatok

Kapcsolja be a következő elemet a fejlesztői eszközök tanulmányozásában. Általában mindegyike olyan konzolt kínál, amelyben gátolhatja a JavaScript kódot.

Biztosan már ismeri az ilyen csapatokat, mint a konzol.log és a konzol.Error, de ez nem korlátozódik a konzol funkcionalitására.

Rögtön szeretném, ha nem minden felsorolt \u200b\u200bparancs működik minden böngészőben. Megpróbálom megemlíteni csak azokat, akik a modern böngészőkben dolgoznak. Mindazonáltal, mint tanács, azt mondom, hogy az őket alkalmazása előtt próbálja meg tesztelni magukat, hogy hiába ne kalapálja a kódot.

  • konzol.log - az eseménynapló fenntartásához használják. Támogatja a formázás.
  • console.Error - a naplózási hibák a kódban. Ezt a parancsot használom, ha hibák fordulnak elő az Ajax lekérdezésekben és a kód más potenciálisan veszélyes szakaszaiban. A módszer hasonló az előzőhöz, de megjeleníti a verem hívások listáját.
  • konzol.dir (objektum) - Megjeleníti az objektum formázott tartalmát. A használt módszer szerint ez a módszer nagyon hasznos a kód hibakeresésénél.
  • console.Group (cím) - Lehetővé teszi, hogy hozzon létre egy üzenetcsoportot a naplóban nevezett címen. Ily módon csoportos üzeneteket lehet csoportosítani, például a keletkező kód szegmensével.
  • a konzol.groupCollpased az előző parancs analógja egy kivételben. Nevezetesen megjeleníti az üzeneteket a hajtogatott formában.
  • konzol.Groupend - befejezi a korábban létrehozott csoportot.
  • console.Time (Label) - lehetővé teszi, hogy nyomon kövesse a webhely sebességét milliszekundumban. A módszer hasznos, ha potenciálisan összetett kódszakaszokat szed.
  • a Console.TimeEND (címke) a csoportosend-módszer analógja, de a Console.Time () tekintetében működik.
  • másolás (string) - A Console Chrome és a Firefox tartalmaz egy olyan módszert, amely lehetővé teszi, hogy a karakterlánc tartalmát a vágólapra másolja. Nagyon hasznos módszer, próbálja meg alkalmazni.

Pontosan ezt tartalmazza

Először is, ez nagy problémák forrása azok számára, akik nem teljes mértékben megértik, hogy pontosan ezt a kulcsszót tartalmazzák. És hogy ebben a nagyon egyszerűen tévedjen, mivel tartalma teljesen függ a kód szerkezetétől.

A hagyományos programozási nyelveken ez hivatkozik az aktuális osztály objektumra. De mivel a JavaScript messze van a hagyománytól, akkor ez a változó az objektum szülői objektumára utal.

A legegyszerűbb módja annak, hogy megértsük, hogy a módszer tulajdonosa vagy szülője. Ez mindig a szülő (szülő) vonatkozik, kivéve az eseteket, amikor a hívást használja, alkalmazza vagy kötődik a módszereket.

A következő példában ez az ablak segítségével jelenik meg:

Funkciómunkás () () (console.log (ez \u003d\u003d\u003d ablak); // igaz) myfunkció ();

Biztos, hogy van egy kérdése, hogyan lehet egyenlő az ablaknak, ha a módszeren belül fellebbezünk? Ha ismeri a választ erre a kérdésre, akkor tökéletesen, egyébként olvassa el, és megpróbálom megmagyarázni.

Ha a funkciót ilyen módon kijelenti, akkor a globális ablakobjektumhoz van csatolva. Ne feledje, azt mondtuk, hogy ez a módszer módszerére utal?

Ennek értékének módosítása egy teljesen új objektumon (nem ablak):

Funkciómunkás () () (console.log (ez \u003d\u003d\u003d ablak); // FALSE) új myfunkció ();

A kód tisztaságának támogatói biztosan sokkolásban egy ilyen példa. Az ilyen példákkal csak a jéghegy tetejére megyünk. Amint látja, ez az érték már nem egyenlő az ablakkal.

Miért történt ez?

A legegyszerűbb magyarázat - a második példában használt kulcsszó új, ezek a legtöbb létrehoztunk egy új alkalmazási körét, és új objektumot.

A következő példában egy fiktív API-t hozunk létre a könyvtárból származó adatok kirakodására a kiszolgálóról. Néhány módszerrel létrehozunk egy API objektumot.

Az új szó használatakor a szkript kontextus az ablakkörnyezetből az API-ba mozog.

Var API \u003d (GetData: funkció () (konzol.log (ez \u003d\u003d\u003d ablak); // hamis konzol.log (ez \u003d\u003d\u003d API); // igaz); Api.getdata ();

Amint látja, ennek értéke teljes mértékben be van állítva a módszer felhívásának módjában. Mivel a funkciót az API objektumon belül hívják, szülője, akkor az értékét az API objektum hivatkozza.

Ne feledje, ez az érték megváltozik. A hívásmódtól függően változik, de ha a kötési módszert használja, akkor ennek értéke változatlan marad.

A JavaScript-i kulcsszó részletesebben megismerheti a Quirksmode cikket és a Mozilla dokumentációját.

"Használjon szigorú";

Ahogy már korábban már megadott, a felhasználói szigorúan a JavaScript nyelv szigorúbb verziójának alkalmazása. Ezt az irányelvet követni kell az összes szkript alkalmazásában.

Alapértelmezés szerint a JavaScript eléggé szabad a szintaxisában. Ez egyszerűen kihagyja a kód hibás részét, és megpróbálja végrehajtani a következő sorokat, miközben nem mond semmit neked.

A Mozilla dokumentációjában van egy egész cikk ezen a témában, erősen javaslom, hogy találkozzon vele.

Különböző típusú ciklusok

Meglepődsz, de találkoztam egy hatalmas számú fejlesztővel, akik nem tudták, hogyan kell helyesen használni a ciklust, és teljesen nem hallottak más típusú ciklusokról. És lehet használni egy ciklust egy tömb vagy tárgy - nagyon fontos készség a fejlesztő számára. Nincs egyértelmű utasítás, amikor és mit kell alkalmazni a ciklus típusát, de navigáljon ebben a kérdésben. Bizonyára ismeri, hogy és míg, de mi van másokkal?

A ciklusok listája a JavaScriptben:

  • be
  • mert..of (az ES6-hoz)
  • az egyes.
  • míg
  • csinálni, miközben.

Ciklus

Teljesen kötelező ciklus, amely meg kell tudnia és megérteni. A testét 2 állapotban végzi.

Mert (1. feltétel, 2. feltétel, 3. feltétel) (3) (// A kód)

1. feltétel - A ciklussorozat kezdete előtt egyszer hajtja végre. A legtöbb esetben itt inicializálja a ciklusszámlálót. Ez az elem kimaradhat, ha korábban inicializálja.

2. feltétel - Ez a feltétel a ciklus folytatásának meghatározására szolgál. Valószínűleg összehasonlíthatja a számlálót a tömb méretével. Ha az igazi összehasonlítás értéke, a ciklus folytatódik. Ha megszakítja a ciklust a szünetben, akkor ez a feltétel kihagyható.

3. feltétel - Ez az oldal minden egyes iteráció után végrehajtásra kerül, mivel ez itt van, itt növeli a számlálót.

Ciklus ... in

A következő a ciklus típusa. Ezzel átmegy az osztály összes területén.

Adunk egy példát.

VAR személy \u003d (első név: "Dwayne", vezetéknév: "Charrington", életkor: 27, Starsign: "Aquarius"); // Az alábbi hurok kimen: // "Dwayne" // "Charrington" // 27 // "Aquarius" (ha (person.hasownproperty (p)) (konzol.log (személy [p]);)

Kerékpár ... of

Elég új típusú ciklus hozzáadásra került az ES6-hoz. Az újdonság erejével, az összes böngésző által támogatott. De ha bizonyos technológiákat alkalmaz, akkor már használható ma.

Ez a ciklus a teljes ellenkezője a ... in, a mező értékeien keresztül megy keresztül, és csak olyan adattípusokkal működik, amelyek támogatják az iterációkat, amelyekre az objektum nem vonatkozik.

Var fruits \u003d ["narancssárga", "alma", "squash", "körte"]; Mert (var gyümölcse) (konzol.log (gyümölcs);)

Az ilyen típusú ciklus nagy pluszja, hogy már nem kell létrehoznunk egy mutatót, és követjük a tömb hosszát, hogy teljes mértékben átmegyek az elemeire.

Foreach ciklus

Egy másik típusú ciklus, amely mélysége nem különbözik a korábban felsorolt \u200b\u200bciklusok típusától.

Csak tömbökkel működik, nem tárgyak. Hasznos az a tény, hogy nem kell további változókat létrehozni, amelyek végül szennyezik a kódot. \\

Biztos, hogy ez a leginkább korlátozott típusú ciklus típus, de saját alkalmazásai vannak, amelyekről tudják, hogy tudják:

Var fruits \u003d ["alma", "banán", "narancs", "szőlő", "körte", "Passionfruit"]; // A visszahívási funkció három értéke: // elem - az elem áthaladó // index - az elem aktuális indexe a tömbben 0 // a tömb - a tömb (valószínűleg irreleváns) Gyümölcsök. Furach (funkció (elem, index, tömb) (konzol.log (index, elem);)));

Néha csak át kell menned a tömb összes elemén, és talán változtasd meg őket. A viselkedése hasonló a jquery.achhez.

Az ilyen típusú ciklusok hiánya - nem lehet megszakítani. Ha az ES5 szabályok szerinti ciklust kell létrehoznia, akkor használja az Array.every módszert, hogy megismerkedjen, amellyel a Mozilla dokumentációjában lehet.

Ciklus közben

A ciklus hasonló, de csak egy paramétert fogad el - maga a feltétel, amellyel a ciklus meghatározza az iterációk folytatását, vagy megállítja őket.

Bár az ilyen típusú ciklust a leggyorsabbnak tartják, azt hiszem, ez a pillanat meglehetősen ellentmondásos. Azt hiszem, nem fogja vitatni, hogy ez a fajta ciklus nem tekinthető óvatosan, mint mások, és a sebesség csak a belső logika egyszerűségével magyarázható.

A tapasztalatok szerint, azt fogja mondani, hogy a leggyorsabb változata a MÍG ciklus egy ciklus mellett csökkent a mérő, akkor csökkentse azt az egységnyi amíg el nem éri a nulla (ami azt is állította).

Var i \u003d 20; Míg (i--) (konzol.log (i);)

Ciklus ... míg

Egy ilyen ciklus meglehetősen ritka, de még mindig érdemes bemutatni neki, hogy megértse munkáját.

A ciklus nem végezhet semmilyen iterációt. Vagyis, ha hamis értéket vált ki ciklusként, akkor nincs iteráció végrehajtásra. Míg a ciklus garantált, legalább egy művelet teljesítése.

Ez a különbség nem ér véget. A míg a ciklus folyamatosan feldolgozza az állapotot az iteráció végrehajtása előtt, és ... utána.

Mint mindig, a Mozilla dokumentációjában megtalálja az ilyen típusú ciklusok részletes leírását.

Alapvető módszerek és feladatok

JavaScript létezik olyan alapvető módszerekkel, amelyeket ismerni kell. A tömbökkel és sorokkal való munkavégzés tekintetében a JavaScript nagy beépített módszereket kínál. Csak tömböket és vonalakat fogunk megérinteni, később, későbbi objektumokat hagyunk.

Ha más típusú adatokkal való együttműködés, akkor merészen lépjen kapcsolatba a Mozilla dokumentációval. Természetesen nem tudhatod ezeket a módszereket szívvel, csak azokat, akiknek tűnnek.

Munka húrokkal

A JavaScript-ban leggyakrabban a stringadatokkal dolgozik, kivéve, valószínűleg tömböket és tárgyakat. Még ha nem is dolgozik sorokkal, vagy úgy gondolja, hogy nem működik, akkor még mindig érdemes megismerni ezeket a módszereket.

  • STRING.REACHEPLE (REGEXP | Mit kell cserélni, hogy mit kell cserélni, visszahívni) - Lehetővé teszi a vonal részét, amely rendszeres kifejezéseket használhat.
  • String.concat (Storok 1, 2. sor ...) - Több vonal csatlakoztatása egyben.
  • String.indexof (érték) - A módszer lehetővé teszi, hogy megtalálja a vonal szimbólumának sorszámát, -1 - ha a karakterlánc nem található
  • STRING.SLICE (STARTINDEX, Endindex) - Visszatér egy string területet a Startindextől az Endindexig
  • STRING.SPLIT (szeparátor, limit) - A sztringet a szeparátor szimbólumával megszakítja a karakterláncot, a maximális határidőt.
  • STRING.SUBSCTR (STARTINDEX, HOSSZÚ) - Visszaadja a StartIndex hosszú hosszúságú string részét.
  • String.tolowercase - A kisbetűs karakterláncok lefordítása
  • String.touppercase - Transfer minden karakterlánc karakter a felső regiszterben
  • String.trim - eltávolítja a szóközöket a vonal elejétől és végétől

A tömbökkel való munka

Gyakran találkozni kell a tömbökkel. Az adatok tárolásának módjait bizonyították. Ezek a módszerek pontosan érdemes megismerni a JavaScript fejlesztőt, ne keressük őket a Google-ban.

  • Array.pop az utolsó elem irányítja, és eltávolítja a tömbből.
  • Array.Shift - Visszaadja az első elemet, és eltávolítja a tömbből.
  • Array.push (Val1, Val2) - egy vagy több értéket ad hozzá a tömb végéhez. Új tömbhosszot ad vissza.
  • Array.Reverse - A tükrözés megváltoztatja a tömb elemeinek sorrendjét.
  • Array.Sort - Lehetővé teszi, hogy rendezzen egy tömböt a saját funkciójával.
  • Array.join (szeparátor) - Visszaadja a szeparátor szimbólummal elválasztott tömbelemekből álló tömbelemeket (alapértelmezett - vessző).
  • Array.indexof (érték) - visszaadja az elem indexét a tömbben, -1, ha az elem nem található.

Ez nem a tömbökkel való munkavégzés módjainak teljes listája. Másokkal elolvashatja a Mozilla dokumentációját. Az ES6-vel kezdődően nagyon érdekes módszereket adtak hozzá.

A hívás és az alkalmazás közötti különbség

Ez a két módszer nagyon gyakran zavaros. Gyakran tehetsz nélkülük, de segítenek a módszerek hívásában és megváltoztatni a végrehajtás során.

A különbség közöttük elég kicsi, de létezik. A hívásmód mód használata esetén végtelen számú argumentumot állíthat be, ha megosztja őket vesszővel.

Az alkalmazási mód használatával az argumentumokat tömbként továbbíthatja, és megváltoztathatja ezt az értéket.

Ha egyszerűen át kell adnia a tömbet argumentum-módszerként, majd kezdődik az ES6 Advanced (Spread) operátorral. Ez nem teszi lehetővé, hogy megváltoztassa ezt. Tudod megismerkedni vele, mint mindig a Mozilla hivatalos dokumentációjában.

Hívás példa:

Funkció myfunc () (konzol.log (argumentumok);) myfunc.call (ez, 1, 2, 3, 4, 5);

Példa Példa:

Funkció myfunc () (konzol.log (argumentumok);) myfunc.call (,);

A könyvtárak és keretek ismeretei

Napjainkban a JavaScript-keretrendszerek legjelentősebb képviselői a szögek, reagálnak.js és Ember. Természetesen még mindig vannak számos más.

Mivel a webes alkalmazások egyre inkább egyre inkább, ezek a könyvtár egyszerűsíti a munkát velük. Érdemes megérteni, hogy most egy jquery tudás egyértelműen nem elég. Az üres álláshelyek többsége további JavaScript-könyvtárak ismeretére van állítva, mint a fő követelmény.

Csomópont.js.

Kétségtelen, hogy a node.js szilárd pozíciót foglal el. Gyakorlatilag bármely front-end eszköz épül node.js és felhasználási NPM (Node Package Manager), ha nem ismeri, azt javasoljuk, hogy helyes ez a mulasztás. Mivel a node.js a JavaScriptet használja, akkor a tanulás nem jelent különösebb nehézséget azoknak, akik már ismerik ezt a nyelvet. Több időt vesz igénybe a csomópont-csomagok beállításához, mint maga a kód írása.

Személy szerint azt hiszem, hogy a csomópontnak 2015-ben minden fejlesztőnek kell lennie. Nem beszélek a mély tudásról, elegendő ahhoz, hogy a szerverfejlesztéshez, a prototípushoz, a teszteléshez stb.

Van egy villa node.js nevű io.js, ma gyakorlatilag analógok, és végül csak írsz JavaScript, kivéve a kis különbségeket.

Tesztelés

Miután egyáltalán nem teszteltük a JavaScript-kódot, mert nem tartották szükségesnek. De a szkriptek egyre inkább a szögletek és a csomópontok.

A JavaScript fejlődik, és a szkriptek mennyisége növekszik, és a tesztelés létfontosságúvá válik. Ha nem teszteli a kódját, akkor rosszul. Kedvenc tesztelőm karma. Vannak mások is, de ez különösen jobban bizonyított, mint mindenki, amikor a szögben dolgozik. És ha alkalmas a szögletekre, akkor alkalmas számomra.

Műszerek

A 2015-ös JavaScript fejlesztője nem csak a nyelv kiváló tudását jelenti, hanem számos eszközt is dolgozni vele.

Néha az eszközök magukban foglalják a böngészőt, amit használunk. És néha harmadik féltől származó eszközökre kell utalnia a helyzet mélyebb elemzésére.

Itt van egy olyan eszközkészlet, amelyet meg kell emlékezni: Gulp, Webpack és Babeljs. Sokkal több eszköz van, de olyan eszközök, mint a Gulp és a Grunt segítenek a JavaScript alkalmazások fejlesztésében és kezelésében.

Azokban a napokban, amikor csak letöltötte a JavaScript fájlt, és hozzáadta az oldalához. Mostantól NPM-t vagy lugas csomagvezetőket használunk.

Kombináljuk és minimalizáljuk a szkripteket, teszteljük őket, ami segít a projekt szerkezetének megszervezésében.

A Javascript szerszámok kézben vannak az izomorf JavaScript fejlesztésekor (az ügyféloldalon és a szerveren használt kód). Ecmascript 6, ő ES6, ő ESNEXT

A böngészőket még mindig az ECMASSCOPSCSOPRIPS funkcionális programban kell végrehajtani. Ismerje meg az új API-kkel és módszerekkel: sorok, tömbök és egyéb módszerek, mint a gyengékmapsok, szimbólumok és osztályok. Mindig tisztában kell lennie a közelgő változásokkal.

Következtetés

Sokat mondhatok neked. A cikk méretével ítélve elképzelheti, hogy mennyire kell ismernie a JavaScript fejlesztőt. Csak megérintettük a jéghegy tetejét. Nem hiszem, hogy ezt a cikket a fejlesztő számára el kell tekinteni. Ez csak a probléma személyes látása.