Õppige ise javascripti nullist selgeks. Õpime Javascripti. Esimene õppetund. Javascripti põhitõed algajatele: kust õppida

Parem on alustada programmeerimise põhitõdede õppimist keelest, millega saab hõlpsasti tööd leida. TIOBE indeks avaldab igal aastal populaarseimate tehnoloogiate edetabeli ning nende populaarsuse tõusu ja languse dünaamika.

Nende andmete põhjal saate jälgida Javascripti asukohta ja teha vastavad järeldused: kuigi keel pole kõige populaarsem, areneb see pidevalt. Kuna vabade kohtade arv frontendi arendaja ametikohal kasvab pidevalt ja Javascripti kasutusalade arv kasvab, soovitame sellega alustada.

Kui te pole ikka veel kindel, et saate Javascripti nullist õppida, siis juhime teie tähelepanu artiklile, mis tõestab vastupidist nii sõnas kui näites.

Javascript: õppimine nullist

Esiteks räägime teile, mis on Javascript ja miks seda vaja on.

Javascript on prototüübipõhine tehnoloogia, mida kasutatakse spetsiaalse tarkvaraga käivitatavate skriptide kirjutamiseks.

Inimkeelde tõlgituna on see tarkvara-skripti-käitusahela abilüli.

Miks on Javascripti vaja? Kus seda programmeerimiskeelt kasutatakse? Kui otsustate arendada mobiili-, töölaua- ja platvormiüleseid rakendusi, mänge, veebirakenduste kliendi- ja serveriosi, siis olete teretulnud kasutama Javascripti. See on tõesti multifunktsionaalne tehnoloogia, mis sobib paljude, kui mitte kõige arendamiseks.

Muideks! Meie lugejatele on nüüd 10% allahindlus mis tahes tüüpi töödele

Javascripti põhitõed algajatele: kust õppida

Kuidas õppida JavaScripti nullist? Kuidas õppida iseseisvalt programmeerima? Paljud alustavad programmeerijad küsivad neid küsimusi. Õnneks on vastus olemas ja see on üsna üksikasjalik.

Selle programmeerimiskeele õppimiseks on mitu võimalust:

  • erikursused,
  • iseseisev õpe,
  • Ülikoolis õppimine.

Erikursustega on kõik selge: tule ja õpi. Selliste kursuste õpetajad on praktiseerivad arendajad, kes mitte ainult ei jaga, vaid ka tugevdavad praktikaga teoreetilisi punkte.

Kursused peavad olema pikaajalised. Keegi ei saa sulle kuu ajaga midagi õpetada!

Kuidas iseseisvalt Javascripti nullist õppida: 4 võimalust

Kui soovite JavaScripti iseseisvalt õppida, peate olema äärmiselt distsiplineeritud ja pingutama, et kõik õnnestuks. Nagu öeldakse, kannatlikkus ja töö lihvivad kõik maha.

Enne Javascriptis programmeerimise alustamist peate oma ettevalmistusplaani üksikasjalikult läbi mõtlema. Pakume oma versiooni ja saate seda vastavalt oma eesmärkidele, võimalustele ja võimetele kohandada.

1. Õppige lihtsaid asju õppima ja meelde jätma. Enesearengu võimet tuleb arendada. Väga oluline on, et saaks viljakalt õppida. See nõuab enesedistsipliini ja tugevat eesmärki, nii et enne õppimise alustamist õpetage ise õppima.

2. Õppige JavaScripti põhitõdesid. Codecademy: õppige JavaScripti, SnoopCode: JavaScripti õpetused, MDN-i JavaScripti juhend – need võrguressursid hõlmavad grammatikat, tüüpe, silmuseid, funktsioone, väljendeid, numbreid, kuupäevi, vormindamist ja palju muud.

3. Alustage keele täpsemate funktsioonide uurimist. Pärast põhitõdede omandamist alustage teekide ja raamistike valdamist. JQuery, ReactJS, Angular 2, node.js, mis võimaldab arendada serveripoolset ja muud.

4. Looge oma projekte. Free Code Camp on arendajate kogukond, kuhu saate koodi postitada, projekte luua ja selle eest sertifikaate saada. Ja peamine on saada tagasisidet teistelt kogukonna liikmetelt.

Professionaalne areng: harjutamine ja rohkem praktikat

Võite õppida tonni kirjandust, kuid ilma pideva harjutamiseta ei saavuta te midagi.

Inimest ei saa nimetada oma käsitöömeistriks, kui ta teab kõike, kuid ei saa midagi teha.

Programmeerimine, nagu iga muu äri, nõuab pidevat harjutamist. Veelgi parem, õppige ja harjutage samal ajal. Nii testid teooriat kohe praktikas ja saad aru, kus teed vead. Ja vigu tuleb, uskuge mind. Kuid ärge kartke seda. Vastupidi, ilma vigadeta pole edusamme.

Planeeri oma päev nii, et sul oleks iga päev kaks tundi õppeaega. Ärge pingutage liiga palju. Tehke pause ja muutke oma tegevust. Suurepärane Javascripti, Pomodoro tehnika õppimiseks.

Vaadake videotunde, lugege ja salvestage huvitavaid artikleid, osalege seminaridel ja konverentsidel, arutlege ja jagage oma arvamusi teiste õpilastega.

Üldiselt on sul tööd palju, aga kui sa ka ülikoolis õpid, ei pruugi sul aega jätkuda. Seega soovitame oma elu lihtsamaks muutmiseks ja eesmärgi saavutamiseks võtta ühendust üliõpilasteenindusega.

JavaScript mängib kaasaegses veebis tohutut rolli. Vastavalt andmetele kasutab umbes 95% kõigist maailma veebisaitidest oma projektides JavaScripti. See on hiiglaslik näitaja, mis sunnib algajaid uurima JS-i kui paljutõotavat ja väga tulusat tehnoloogiat.

Sellel videokursusel tutvume keele süntaksiga, õpime looma lihtsaid veebirakendusi ja sukeldume JavaScripti programmeerimiskeele põnevasse maailma!

Seda keelt on vaja erinevate kasutajafunktsioonide loomiseks. Lisaks sai uute teekide ja raamistike tulekuga võimalikuks luua mitte ainult saidi kasutajaosa, vaid ka serveriosa.

Näiteks kasutab platvorm JavaScripti süntaksit ja võimaldab teha serveri ja andmebaasiga seotud toiminguid. Nüüd on kaasaegne veebiarendaja võimeline looma veebisaidi, kasutades ainult JavaScripti ja mitte ühtegi muud kolmanda osapoole programmeerimiskeelt (arvestamata).

Meie projektis saate kasutada erinevaid JS-i baasil kirjutatud teeke ja raamistikke. Neid on vaja pärast selle kursuse läbimist uurida, kuna need on täpselt üles ehitatud.

Seega, olles õppinud JavaScripti, saate luua vajaliku teadmistebaasi, mis on teile kasulik teiste teekide ja raamistike valdamiseks või veebisaitide ehitamiseks ainult puhtas JavaScriptis.

Natuke JS-st

Milliste funktsioonide eest JavaScript vastutab ja miks peaksite seda üldse kasutama?

Vaata vastust

JavaScript täidab saidil kasutajafunktsioonide rolli. Selle abil saate luua erinevaid animatsioone ja funktsioone, mis parandavad kasutajakogemust ja meelitavad kasutajat saidil kauemaks jääma.

Lisaks on viimasel ajal ilmunud palju erinevaid JS-i teeke, mis võimaldavad teil luua veebisaidi täielikult JS-is. Kirjutage mitte ainult kasutaja, vaid ka saidi serveriosa. Üks selline platvorm on Node JS, milles peate kasutama ka JS-i süntaksit.

Natuke teooriat

Milliseid keeli peaksite õppima enne JavaScripti õppimist?

Vaata vastust

Peaksite veidi tundma HTML-i ja CSS-i, kuna JS-i kasutatakse peamiselt veebiarenduses. Ülejäänut ei pea te õppima, kuna JS on eraldi keel, mis ei vaja täiendavaid tehnoloogiaid.

Kursuse jaoks suur ülesanne

Suure ülesande saamiseks peate saidi tellima. Selliseid ülesandeid on igal kursusel. Need hõlmavad ülesannet, lahendusmeetodit ja valmislahendust.
PS: sellised ülesanded on saadaval ainult vähemalt 1-kuulise tellimuse korral!

Edasi

Tasub vaadata ka JavaScripti JavaScripti õpetusi JavaScripti, jQuery ja Ajaxi põhitõed (2015)

Algkursus JavaScripti põhitõdedest ja õppimisest. Video sisaldab näiteid jQuery raamistiku ja Ajaxi tehnoloogia kasutamisest.

Tahaksin märkida, et see videokursus on suunatud veebisaidi ümberkujundamise algfaasis vajalike tüüpiliste probleemide kiirele lahendamisele. JavaScripti valdamine praktiliste ja eluliste näidete abil, ilma tarbetut teavet õppimata.

videost lähemalt...

JavaScript. Põhjalik juhend, 6. väljaanne (2012) – 13,3 MB

Javascripti raamatu täielikult uuendatud väljaanne keele üksikasjalikuks uurimiseks nullist, ning kogenud programmeerijatele ja veebiarendajatele võimaldab see tõsta oma professionaalset taset JavaScripti ja veebiplatvormi sügavate teadmiste alal.

Raamat sisaldab täielikku viidet JavaScriptile. Vaadeldakse suurt hulka praktilisi näiteid skriptide arendamiseks JavaScriptis, sealhulgas ECMAScript 5, brauseri rakenduste programmeerimisliidesed vastavalt HTML5 standardile.

raamatust lähemalt...

JavaScript. Mallid (2011) – 2,9 Mb

Javascripti õpetuse kirjutas S. Stefanov, Javascripti ekspert ja Yahoo juhtiv spetsialist, mitme raamatu autor, Graphics Optimization Tooli ja Web Page Performance Optimization Tooli looja Javascripti õpetus sisaldab praktilisi soovitusi mustrite rakendamiseks küsimuses koodinäidetega. Javascripti õpetus on mõeldud kesktaseme lugejatele.

Javascripti kliendi-, serveri- ja töölauarakenduste veebiarendajad puutuvad üsna sageli kokku probleemidega, mis on seotud Javascripti keele objektide, funktsioonide, pärimise ja muude funktsioonidega.

õpiku kohta lähemalt...

jQuery. Uus programmeerimisstiil JavaScriptis (2010) - 3,3 Mb

jQuery õpetus kirjeldab programmeerijate seas populaarseks saanud JavaScripti teegi rikkalikke võimalusi.

jQuery on brauseriülene kompaktne JavaScripti teek. Lugejalt nõutakse mõningaid teadmisi JavaScriptist ja PHP-st.

õpiku kohta lähemalt...

JavaScript. javascripti õppimine nullist

Põhjalik juhend, 5. väljaanne (2008) – 5,6 Mb

Javascripti õpetusel on väga hea tõlge inglise keelest, mis väldib tavapärast mõistete segadust. Materjali esitus õpikus on selge ja arusaadav, koos selgitavate ja visuaalsete näidetega.

Õpetus tutvustab Javascripti põhitõdesid ja seejärel kaasaegsete brauserite pakutavat skriptimiskeskkonda.

õpiku kohta lähemalt...

JavaScript taskus (2008) - 6,2Mb

Kui teie veebilehtedel puudub dünaamilisus, paindlikkus ja isikupära, lugege JavaScripti õpetust ja pöörduge skriptimise poole. JavaScripti abil saab muuta dokumendi nutikaks, hingata sellele elu ja iseloomu.

Skriptid on väikesed programmid, mis on kirjutatud veebilehe HTML-koodi ja JavaScript on kõige populaarsem skriptikeel. Kui lugejal on HTML-keelest vähe aru, siis pole see oluline, sest selles JavaScripti õpetuses sisalduvast teabest piisab lihtsate veebilehtede loomiseks isegi algajatele.

õpetusest lähemalt...

Ajax in Action (2006) – 6,6 Mb

Ajaxi õpetus kirjeldab uut lähenemist veebirakenduste loomisele. Õpetus hõlmab Ajaxi ehitusplokke: Javascript, CSS, DOM ning XmlDocument ja XMLHttpRequest objektid. Õpik pakub lahendusi koodihalduse, serveri ja kliendi interaktsiooni ning mudeli-vaate-kontrolleri arhitektuuri kasutamise probleemidele rakenduse erinevatel tasanditel.

Ajaxi õpetus annab teavet turvalisuse ja jõudluse kohta, väga oluliste omaduste kohta, mis mõjutavad oluliselt iga toote väärtust. Käsitletavatele probleemidele on lisatud illustreerivad näited Ajaxi praktilisest kasutamisest.

õpiku kohta lähemalt...

Huvitatud isikute ja sõprade ringile:

"Javascript on programmeerimisele sama, mis jazz on muusikale."

Markus Persson

See artikkel räägib sellest, kuidas ma õppisin/jätkasin õppima imelist JavaScripti keelt.

JS algajatele. Õppetund 0: Sissejuhatus

Ma arvan, et pole vaja selgitada, miks peate JavaScripti õppima, lugege lihtsalt artiklit "Veebiarenduse praegused tehnoloogiad ja suundumused".

Alustasin JavaScripti kursusega saidil codecademy.com, läbisin sellest umbes poole ja alustasin samal ajal põhitõdede õppimist saidil learning.javascript.ru, mugavam on osta raamatut aadressilt epub/pdf learning.javascript.ru/ e-raamat.

Seejärel läksin saidilt codecademy.com üle suurepärasele teenusele freecodecamp.com õppimiseks, läbisin jaotised „Basic JavaScript“, „Object Oriented and Functional Programming“, hakkasin kasutama „Basic Algorithm Scripting“ (uuendus: läbis 3 7-st ).

Hakkasin JavaScripti lugema. Üksikasjalik juhend" autor: David Flanagan (ozon.ru), mõistsin, et praeguses etapis on see minu jaoks pigem teatmeteos, otsustasin edasi vaadata. Sattusin hexlet.io lehel JavaScripti kursusele, seal on kõik väga selgelt lahti seletatud, kursus põhineb raamatul “JavaScript. Tugevused" autor: Douglas Crockford (ozon.ru) ja tema loengus on seda raamatut hea lugeda pärast kursuse vaatamist (upd: lugeda 43 lehekülge 173-st).

Nüüd on idee läbida Ilja Kantori kursus “JavaScript/DOM/liidesed” (learn.javascript.ru/courses).

UPD: Pärast arendajatega vestlemist sain teada, et õppimisel on kõige olulisem praktika ning raamatuid saab paralleelselt õppida ja teooriat reaalsetele teadmistele rakendada, pole vaja liituda olemasoleva projektiga, saab alustada oma , mida ma tegelikult ka teen.

Palju kasulikke ressursse saab koguda esimesest ajaveebikirjest “Kuidas saada suurepäraseks esiotsa arendajaks” (kirillzharov.ru/how_to_become_cool_front-end_developer), valikust kursustest, õpitavatest raamatutest, artiklitest, videotest JavaScripti lingil kirillzharov .ru/frontend.

Artikkel põhineb minu isiklikul kogemusel JavaScripti õppimisel ja ei pretendeeri ainsaks optimaalseks võimaluseks, seda värskendatakse õppimise ajal.

Sildid: frontend

Õpetajad ja mentorid, kes õpetavad JavaScripti, saavad pakkuda oma võimalusi JavaScripti õppimise järjestuse korraldamiseks õpiku selle jaotise kommentaarides. Lugejad, kes õpivad JavaScripti ise, saavad avaldada oma arvamust ka õpiku korralduse kohta. Selleks, et JavaScripti iseõppimine oleks tõhus, on vaja kaasata metodoloogiline kogemus, mida JavaScripti õppimine annab. Algajatele mõeldud õpetus peaks aitama arendajal kiiresti alustada.

JavaScript 1. Sissejuhatus

Veebis lehtede genereerimisel tekib klient-server arhitektuuriga seotud dilemma. Lehti saab genereerida nii kliendi kui ka serveri poolel. 1995. aastal lõi Netscape JavaScripti programmeerimiskeele väljatöötamisega kliendipoolse lehehaldusmehhanismi.

Seega on JavaScript skriptide haldamise keel hüperteksti veebilehtede vaatamiseks kliendi poolel.

JavaScripti põhiidee on HTML-i konteineri atribuutide ja kuvamiskeskkonna atribuutide väärtuste muutmine, kui kasutaja HTML-lehte vaatab. Sel juhul lehte uuesti ei laadita.

Praktikas tähendab see, et saab näiteks muuta lehe või dokumenti integreeritud pildi taustavärvi, avada uue akna või anda hoiatuse.

Nimi JavaScript on Netscape'i omand. Microsofti arendajate poolt läbi viidud keele juurutamist nimetatakse ametlikult Jscriptiks.

JScripti versioonid ühilduvad (täpsemalt, mitte täielikult ühilduvad) JavaScripti vastavate versioonidega, st. JavaScript on
JScripti keele alamhulk. JavaScript on standarditud ECMA (European Computer Manufacturers Association) poolt. Vastavaid standardeid nimetatakse ECMA-262 ja ISO-16262. Need standardid määratlevad ECMAScripti keele, mis on ligikaudu samaväärne JavaScripti 1.1-ga.

Pange tähele, et mitte kõik JavaScripti rakendused ei ole tänapäeval täielikult kooskõlas ECMA standardiga. Kogu selle kursuse jooksul kasutame kõigil juhtudel nime JavaScript.

2. JavaScript lühidalt
  • Objektimudeli mõistmine JavaScriptile rakendatuna
  • Omadused
  • meetodid
  • Sündmused
  • Koodi paigutamine HTML-lehele
  • JavaScripti URL-i skeem
  • Sündmuste töötlejad, asendused ja sisestamine
  • Koodi paigutamine HTML-dokumenti
  • Klassi hierarhia
  • Asukoha väli
  • Aknahaldus
  • VORMI konteiner
  • Tekst sisestusväljadel
  • Nupud
  • Pildid
  • Andmevahetus
  • Stringid
  • Numbrid
  • Massiivid
  • Pilti muutva efekti loomine.

    Elementide lisamine ja eemaldamine.

  • Töö tekstiga
  • Dokumendi objekt
  • Kirjandus
  • 3. JavaScript. Ülevaade Keele põhifunktsioonid 4. Väärtused, muutujad ja literaalid

    See vaatleb JavaScriptis tuvastatud väärtusi ja kirjeldab JavaScripti avaldiste põhilisi ehitusplokke: väärtused, muutujad ja literaalid.

    5. Avaldised ja operatsioonid

    See hõlmab JavaScripti avaldisi ja toiminguid, sealhulgas määramist, võrdlust, aritmeetikat, bittide kaupa, loogilist stringi ja eritoiminguid.

    6. Regulaaravaldised

    Regulaaravaldised on mustrid, mida kasutatakse stringides olevate märgikombinatsioonide sobitamiseks. JavaScriptis on regulaaravaldised samuti objektid.

    7. Operaatorid

    JavaScript toetab kompaktset operaatorite komplekti, mida saab kasutada interaktiivsete veebilehtede loomiseks. Siin on ülevaade nendest operaatoritest.

    8. Funktsioonid

    Funktsioonid on JavaScripti teised põhilised ehitusplokid.

    JavaScripti õpetus algajatele Dmitri Trepatšovilt

    Funktsioon on JavaScripti protseduur – lausete kogum, mis täidab kindlat ülesannet. Funktsiooni kasutamiseks peate selle esmalt defineerima; skript saab seejärel seda funktsiooni kutsuda.
    Funktsioonide määratlemine
    Helistamise funktsioonid
    Argumentide massiivi kasutamine
    Eelmääratletud funktsioonid

    9. Töö objektidega

    See hõlmab objektide, omaduste, funktsioonide ja meetodite kasutamist ning seda, kuidas oma objekte luua.
    Objektid ja omadused
    Uute objektide loomine
    Eelmääratletud tuumaobjektid

    10. Objektimudel. Üksikasjad

    JavaScript on prototüübipõhine, mitte klassipõhine objektorienteeritud keel. Selle põhilise erinevuse tõttu pole selge, kuidas JavaScript võimaldab teil luua objektide hierarhiaid ning rakendada omaduste ja väärtuste pärimist. See peatükk püüab seda selgitada.
    Klassipõhised ja prototüübipõhised keeled
    Näidistöötaja
    Hierarhia loomine
    Objekti omadused
    Paindlikumad konstruktorid
    Vara pärand uuesti läbi vaadatud

    Kliendikeele eripära 11. Java Scripti juurutamine HTML-is

    Saate manustada JavaScripti HTML-dokumenti operaatoritena ja funktsioonidena siltide kehas, määrates faili JavaScripti allikana, määrates JavaScripti avaldise HTML-i atribuudi väärtusena või sündmuste töötlejana teatud muudes HTML-märgendites. (eelkõige vormielementides).
    SCRIPT sildi kasutamine
    JavaScripti koodiga faili spetsifikatsioon
    JavaScripti avaldiste kasutamine HTML-i atribuudi väärtustena
    Jutumärkide kasutamine
    Alternatiivse sisu täpsustamine sildiga NOSCRIPT

    12. Sündmuste käsitlemine

    Navigaatori JavaScripti rakendused kasutavad sündmusi laialdaselt. Sündmused on toimingud, mis toimuvad perioodiliselt mõne kasutaja tegevuse tulemusena. Näiteks nupu klõpsamine on sündmus, nagu ka teksti muutmine tekstiväljal või hiire liigutamine hüperlingi kohal. Skripti sündmusele reageerimiseks määrate sündmuse käitleja, näiteks onChange ja onClick.
    Sündmuste töötleja määratlemine
    Sündmuse objekt
    Sündmuse jäädvustamine
    Vormi sisestatud andmete kontrollimine

    13. Navigaatori objektide kasutamine

    See vaatleb JavaScripti objekte Navigaatoris ja selgitab, kuidas neid kasutada. Kliendipoolseid JavaScripti objekte nimetatakse mõnikord Navigaatori objektideks, et eristada neid serveripoolsetest ja kasutajapoolsetest objektidest.

    14. Akende ja raamide kasutamine

    JavaScript võimaldab teil luua ja manipuleerida aknaid ja raame, et esitada HTML-i sisu. Aknaobjekt on kliendipoolse JavaScripti hierarhia ülataseme objekt; Raamiobjektid on sarnased aknaobjektidega, kuid vastavad FRAME-märgendiga dokumendis FRAME-märgendite abil loodud "alamakendele".

    15. Täiendavad artiklid

    See hõlmab mõningaid erikontseptsioone ja rakendusi, mis parandavad JavaScripti võimalusi ja paindlikkust.

    16. Turvalisus JavaScriptis

    JavaScript takistab automaatselt ühe serveri skriptidel juurdepääsu dokumendi atribuutidele teistes serverites. See piirang takistab skriptidel saada tundlikku teavet, nagu kataloogistruktuurid või kasutaja seansside ajalugu. See kirjeldab JavaScripti erinevates versioonides leiduvaid turbemudeleid.

    17. jQuery

    jQuery on JavaScripti teek, mis tagab universaalse brauseriülese koostalitlusvõime Java Scripti ja HTML-i vahel.

    JavaScript nullist Kiirviide

    JavaScripti arendasid ühiselt välja Netscape ja Sun Microsystems. Nad vajasid lihtsustatud keelt, millega veebidisainerid ja tavalised programmeerijad saaksid töötada. Samal ajal pidi see töötama pistikprogrammide, piltide ja Java-aplettidega. Ettevõtte juhtkonnale ei meeldinud PHP keel, mis võiks nendel eesmärkidel sobida, mistõttu oli vaja uut. Keele loomine usaldati Brendan Eichile, kelle Netscape palkas 1995. aasta aprillis. Lisaks temale osalesid arenduses Marc Andreessen Netscape'ist ja Bill Joy (Sun Microsystemsi kaasasutaja).

    Samal ajal mõistsid kõik, et Microsoft püüab Interneti-turgu vallutada. Pidage meeles Bill Gatesi kuulsat ütlust: "Tulevikus on ainult kahte tüüpi ettevõtteid: need, kes läksid veebi ja need, kes lõpetasid äri." Seetõttu pidi Brendan Eich keele loomise lõpetama vaid kahe nädalaga, mis oli esimestes versioonides paljude puuduste põhjuseks. Esimene välja töötatud keel kandis nime Mocha. Siis, mõistes, kui kohutav see nimi on, nimetasid nad selle ümber LiveScriptiks. Ja 1995. aasta detsembris, olles saanud Sunilt loa, otsustas JavaScript mängida Java populaarsusele. Seega, kuigi keel ise ei kuulu praegu kellelegi, kuuluvad keele nime õigused Oracle’ile, kes ostis Sun Microsystemsi.

    1996. aastal andis Microsoft välja oma versiooni, nimetades seda JScriptiks, mis töötas ainult Internet Exploreri kolmandas versioonis. Mõned väidavad, et nad kopeerisid JS-i täielikult koos kõigi vigadega ja kõik töötas väga halvasti. Igal juhul tuli neil loobuda ainult JScripti kasutamisest ja pakkuda tuge standardsele JS-ile (samal ajal arendada Visual Basic Scripti – mõlemat tehnoloogiat toetab endiselt Microsoft).

    Hiljem otsustas Netscape'i juhtkond keele standardida, mille viis läbi ECMA assotsiatsioon. Keelestandard sai tuntuks kui ECMAScript ning selle laiendusteks peetakse JScripti, JavaScripti ja ActionScripti.

    JavaScripti keelefilosoofia

    JS-il on süntaks, millel on palju sarnasusi Java ja C-ga, kuid mida võib semantiliselt pidada lähedasemaks Smalltalkile või Lisp-ile. Näiteks nii JavaScriptis kui Javas kasutatakse objektorienteeritud lähenemist, kuid JS-is realiseeritakse seda mitte klasside, vaid prototüüpide kaudu. JavaScriptil on dünaamiline tippimine, Java-l aga staatiline tippimine. Ja lõpuks, JavaScripti skripte käivitatakse otse failist, mitte virtuaalse masina abil.

    JS-i saab manustada otse veebilehele, kasutades märgendeid, või laadida mõnest teisest failist (html-dokument määrab selle faili asukoha).

    Märkimist väärib ka üks JS-i kõige olulisem mõiste – dokumendiobjekti mudel – programmeerimisliides, mis võimaldab skriptidel pääseda ligi veebidokumentide struktuurile, muutes nende struktuuri või sisu.

    Kus JavaScripti kasutatakse?

    JavaScript on tänapäeval kõige populaarsem keel veebis. Tegelikult tehakse veebirakendusi ainult sellel (või selle muudel rakendustel). JavaScripti kasutatakse AJAX-is vidinate, brauserite lisafunktsioonide (näiteks järjehoidjate), kasutajaskriptide jms loomiseks. Tänapäeval on peaaegu võimatu leida saiti või teenust, mis vähemalt vähesel määral JS-i ei kasutaks.

    Tänu HTML5-le oli võimalik Flash-tehnoloogiad brauseritelt välja tõrjuda.

    Seetõttu on JS-l nüüd võimalus töötada heli, video, 3D-ga (WebGL) ja joonistada lehele pilte programmiliselt (Canvas).

    Pärast seda, kui Google andis välja oma Chrome'i brauseri (põhineb Chromiumil), ehitas ta sellesse väga võimsa JS-i töötlemismootori, mida kutsuti V8-ks. See mootor tõlkis JS-i masinkoodiks V8 põhjal töötati välja Node.js platvorm, mis võimaldas JavaScripti universaliseerida (näiteks Node abil saab ühendada teistes keeltes kirjutatud teeke).

    JavaScripti on kasutatud ka töölauarakenduste loomiseks (väljaspool brauserit).

    Samas pole see arendajate seas suurt populaarsust kogunud, välja arvatud ehk mõned entusiastid. Kuid JS-i kasutatakse brauseri operatsioonisüsteemides - IndraDescktop WebOS, IntOS, eyeOS.

    Kuid JS-i kasutamine mobiilirakenduste arendamiseks on üsna õitsev. Selle valdkonna kuulsaim raamistik on PhoneGap (Cordova) - see võimaldab kirjutada rakendusi iOS-i, Androidi jaoks, kasutades ainult JavaScripti.

    JS-i kasutatakse ka kontorirakendustes – Microsoft Office’is, OpenOffice’is mõningate toimingute automatiseerimiseks ja makrode loomiseks. JavaScripti skripte toetavad ka Adobe rakendused (Photoshop, Illustrator, Dreamveawer).

    Seega võime öelda, et JavaScript on võitnud peaaegu kõigis valdkondades, kus veeb eksisteerib. Ja viimasel ajal on see hakanud ulatuma veebist kaugemale, leides rakendust asjade Internetis (Node.js-i kasutavate nutikate kodude jaoks on juba palju projekte).

    JavaScripti õppimise raskus

    Puhast JS-i pole üldse raske õppida. Kui sa juba oskad mõnda teist programmeerimiskeelt, siis pole ümberõppimine kuigi keeruline. Nüüd peavad programmeerijad aga sellega töötamiseks teadma palju rohkem tehnoloogiat kui 90ndatel või 2000ndatel. Peate õppima raamistikke ja arendustööriistu, mida pidevalt uuendatakse ja muudetakse. Ja kuna tegemist on veebiga, toimuvad need muudatused palju kiiremini kui teiste keelte puhul. Tegelikult peate teiste programmeerijatega sammu pidamiseks pidevalt jahtima viimaseid moesuundeid.

    JavaScripti plussid/miinused

    Keele eelised on hästi teada – keel on veebis nii laialt kasutusel, et tööta ei jää kunagi. Igas IT-ettevõttes saate hõlpsasti leida koha esiotsa või tagaotsa arendajana (olenevalt teie kvalifikatsioonist). Keel areneb pidevalt – kõrvaldatakse keele loomisel sisse toodud puudused, ilmuvad uued funktsioonid ja tehnoloogiad, mis muudavad programmeerimise lihtsamaks.

    Mündi tagumine külg on see, et JS-iga seotud tehnoloogiad võivad liiga kiiresti muutuda. Seetõttu peate proovima sammu pidada. Samuti võivad teie veebirakenduse toimimise nõuded muutuda suurusjärgus sagedamini ja teil on palju rohkem tööd kui mobiili- või töölauarakendusi tegevatel kolleegidel.

    Seotud tehnoloogiad

    Coffeescript on programmeerimiskeel, mis tõlgitakse JS-i. Võimaldab kirjutada lihtsamat ja kompaktsemat koodi.

    Ajax on tehnoloogia, mis võimaldab saata serverisse päringuid ja saada vastust ilma lehte uuesti laadimata. Ta aitas korraga suurel määral kaasa JS-i populariseerimisele.

    Typescript on JS-i rakendus, mille Microsoft tutvustas 2012. aastal. Laiendab JS-i võimalusi (mõnes allikas kirjeldatakse seda kui "JS-i klassidega").

    Meteor on raamistik, mis töötab Node'i peal. Võimaldab teil Node.js-i arendamist lihtsustada.

    JQuery on JS-i teek, mis hõlbustab juurdepääsu mis tahes elemendile. Seda kasutati sageli animatsioonide, kaunite avanimekirjade (akordionid), pildiliugurite (karussellide) ja libisevate paneelide loomiseks.

    UnityScript on JS-i teostus mängude programmeerimiseks Unity (3D-s).

    Autorilt: paar kuud tagasi ei saanud ma JS-i närvi minemata vaadata. Olin JS-st 100% väsinud ja ei saanud sellest olekust välja. See kestis palju aastaid. Tänapäeval meeldib mulle JavaScripti ja selle ökosüsteemi kasutamine. Mis juhtus?

    Olen JS-i ühel või teisel kujul kasutanud alates 90ndatest. Mul on raamatuid, mis näevad praegu päris naljakad välja. Need on täis document.write avaldusi.

    JS on viimase paari aasta jooksul palju muutunud. Alguses ei olnud mul aega kõiki neid muutusi uurida. Ma ei suutnud nii palju uusi asju korraga vastu võtta. JS muutus, aga ma pidasin vastu. Ma õpetasin teda nii kaua ja äkki hakkas ta muutuma.

    Leidsin kommentaari populaarsest artiklist "Modern JavaScript Explained For Dinosaurs". Seal öeldi, et "kaasaegse JS-i õppimine on väga raske, kui te seda algusest peale ei tee":

    "Ma ütleksin, et õpetamine algusest peale (jah, ma olen "nii" vana) on veelgi keerulisem - "Tim Tate"

    JavaScript. Kiire algus

    2012. aastal hakkasin tõsiselt tegelema JS-i ja Node.js-iga. ES6 oli minu jaoks läbi aegade suurim keelemuutus, midagi sellist pole ma varem näinud. Eelmine suur muutus toimus 2009. aastal ES5-ga. ES6 muutis sõna otseses mõttes kõike. See oli nii suur JS-i värskendus, et iga päev ilmus nii palju uusi funktsioone, mis võisid selle spetsifikatsiooni lisada, kuid te ei teadnud, kas see õnnestub või mitte. Ja ma pidin järele jõudma, kui kõik Twitteris arutasid, mis oleks järgmine suur asi.

    Var on minevik.

    Funktsiooni enam pole.

    Prototüüpne pärand, mille õppimiseks kulus nii palju aega, on klasside all peidus kadunud.

    Ja see oli alles algus.

    Ehitades kõike

    Üks suuri nihkeid on ehitus.

    Oleme loobunud lihtsalt JS-failide kaasamisest skriptimärgendi kaudu ja nüüd on meil koostamisetapid, mille jooksul meie keel kompileeritakse arusaamatult suureks failiks. Algul pidasin tugevalt vastu, seisin oma tornis, hambuni relvastatud, valmis selle formatsiooniga võitlema.

    Kui Paabeli abijõud saabusid, võitlesin alguses veelgi rohkem. Aga siiski, lõpuks heiskasin valge lipu ja ühinesin vaenlasega.

    Sain aru, et Babel ei ole mingi uhke raamatukogu, mis pakub tulevikku, uusimaid funktsioone ja kui see kõik brauseritesse ilmub, unustame me Babeli. Ei, Paabel on siin, et jääda lähitulevikku.

    Kui ES2017 on brauserites täielikult toetatud, lubab Babel ES2018, ES2019 jne. Väljapääsu pole. Võtke tulevik omaks, Paabel on teie sõber.

    Kasutage lihtsamaid alternatiive

    Tööriistad on praegu JS-i üks raskemaid osi. Jah, saate Webpacki läbi ja lõhki õppida, kuid alustades ignoreerige kõike ja kasutage valmislahendusi, nagu loo-reageeri-rakendus, React Boilerplate, mis peidavad teie eest pisidetailid ja võimaldavad teil keskenduda koodile. .

    Ärge alustage oma keskkonna seadistamisest, vaid õppige Glitchiga: kaasaegse JS-i õppimisel pole lihtsaid teemasid.

    Pole enam suuri väljalaseid

    ES6 oli nii suur, et ECMAScripti komitee otsustas teha väiksemaid väljaandeid. Seetõttu kannab ES6 ka nime ES2015, see oli esimene aastaga väljalase – nüüd tuleb väljalaseid igal aastal. See muudab millegi õppimise lihtsamaks. Muudatusi tuleb vähem, sest nende elluviimise aeg on piiratud ja see on etteaimatav (loobu, muutused tulevad).

    Ignoreeri müra

    Kui olete nagu mina, jälgite Twitteris paljusid inimesi, kes on alati tipptasemel. Võib-olla on järgmiseks trendiks mõni juht, kes oma mõtteid dikteerib. Nad ütlevad, et kasutage X-i, kõik kasutavad X-i.

    Võib-olla meeldib neile avaldada oma kood uusimatele API-dele, mis pole üldse standardiseeritud, kuid mida saab brauseris lipu abil lubada.

    Neil võib selleks olla head põhjused. Sa ei pea. Ärge laske end uutest säravatest asjadest petta, vaid keskenduge oma tööle.

    Uusi raamistikke ei avaldata igal nädalal

    Internetis on nali "kuu raamistiku" või "nädala uue raamatukogu" kohta. See on tõsi, JS-iga töötab palju inimesi ja see on suurepärane. See toob kaasa innovatsiooni ja evolutsiooni, JS-i tunnusliku kogemuse viimase paari aasta jooksul (mis on keeleökosüsteemi jaoks palju).

    Kuid millegi suure vahel on sageli vähe vahet.

    4 aastat on IT-s palju aega. Need on stabiilsed tehnoloogiad. Õpetage neid, nad jäävad kauaks, liiga kauaks (ja ei lahku).

    „Teil on piisavalt aega, et saada eksperdiks mõnes neist raamistikest. Nad ei lähe niipea kuhugi."

    Aktsepteerige tõsiasja, et kõik tuleb ja läheb

    Igal asjal on elutsükkel.

    JavaScript. Kiire algus

    Õppige JavaScripti põhitõdesid veebirakenduse loomise praktilise näite abil.

    Paar aastat tagasi kasutati jQueryt kõikjal. Tänapäeval alustatakse sellega harva uusi projekte.

    Backbone.js oli populaarne 2013. aastal. Nüüd on ta kadunud.

    CoffeeScript pühiti maa pealt ära.

    Ember.js, Angular.js ja Meteor tõusid hoo sisse ja on olnud tipus juba mitu aastat. Tänapäeval on enim räägitud neist React, Vue ja Angular (see pole Angular.js).

    Selliste põhiraamistike tsükkel kestab paar aastat. Mul on endiselt palju Ember.js rakendusi ja need kõik töötavad hästi. Kui need töötavad, ei pea neid värskendama. Ma ei kavatse neid puudutada.

    “Tehnoloogia areneb ja küpseb. Hiljem nad sellest enam ei räägi, vaid kasutavad seda.

    Sa pole piisavalt rumal, et jQueryt kasutada

    Mõnda inimest ei saa lüüa, aga kui sa loed palju, oled näinud inimesi, kes põlgavad tehnoloogiat, mida kõik kunagi kasutasid – nad teavad paremini ja tahavad sulle öelda, et sa eksid.

    Olen PHP-s programmeerimisega tegelenud juba pikemat aega, harjunud. On normaalne, et inimesed kritiseerivad midagi populaarset. Isegi Go-d kritiseeritakse mõnikord selle lihtsuse pärast, kuigi see on nipp. Selliseid inimesi jääb alati olema.

    Näitena tsiteerin Pieter Levelsi säutsu, kes rajas ühele PHP-failile tohutu sõltumatu äri. Lugege kommentaare.

    Kui olete algaja, võidakse teile öelda, et olete valinud vana tehnoloogia, mida keegi enam ei kasuta ja et peate kasutama Reacti.

    Ära kuula neid.

    Pidage meeles: kui see töötab teie jaoks, on see õige virn.

    "Kui see teie jaoks töötab, on see õige stäkk."

    Peaaegu alati luuakse suurettevõtete tehnoloogia teie või väikese meeskonna vajadustest erinevatele vajadustele. Kasutage seda, mida teate, ja tehke midagi muud, isegi ilma uusima tehnoloogiata.

    Praegu pole teil tõenäoliselt jQueryt vaja. Aga mitte raamistiku asemel – tavaline JS on väga hea.

    Teine oluline punkt on liigne keerukus. Ärge kasutage tehnoloogiat selleks, et näida targem. Õppige teda paremini tundma. Uurige, millal raamistik või raamatukogu teid aitab.

    Sa ei pea kõike teadma. Leia oma tasakaal

    See võib tunduda Twitteri tsitaat, kuid keegi ei tea kõike. Keegi ei saa praegu õppida kõike, mis esiotsa arenduses juhtub. See on igavene kool. Seda pole võimalik lõpetada.

    Õppige tehnoloogiaid kasutajasõbraliku dokumentatsiooniga

    Pole juhus, et Reactil ja Vuel on nii hea dokumentatsioon.

    See on edu võtmeosa.

    JavaScript muutub uuesti

    Eelmisel aastal tutvustati ECMAScripti keelt await/async. Nüüd kasutatakse neid väga sageli. Promise kood näeb täiesti kohutav välja, tahate kõik ümber kirjutada.

    vAga ära tee seda, parem on uue koodi jaoks kasutada uusi funktsioone.

    Sama juhtub ka sel aastal ES2018-ga. Kõik räägivad sellest mõnda aega ja naasevad seejärel tööle ja hakkavad rääkima ES2019 funktsioonidest.

    Nõustuge muudatustega. See on palju parem kui kasutada tehnoloogiat, mida paari aasta pärast enam kellelgi vaja ei lähe: JS on siin, et jääda!

    Õppige põhitõdesid ja leidke oma tee

    Veebiplatvormi arendamine eeldab sagedast kohustuslikku uue õppimist, kasvõi lihtsalt võimaluste tundmiseks.

    Mõnikord piisab 20% ajast, mis kulub 80% uutele funktsioonidele, ilma et peaksite laskuma äärmuslikesse juhtumitesse.

    Teekond on just alanud

    Võrreldes teiste keeltega on JS veel noor. Ta on väga populaarne ja on suutnud viimase paari aasta jooksul palju muutuda. Keel meelitab iga päev palju andekaid arendajaid. Hämmastav on ette kujutada, kuidas me 10 või 20 aasta pärast kirjutame.

    Programm, mis traditsiooniliselt kannab nime “Tere, maailm! ", on väga lihtne. Kusagil väljastab see teatud keeles fraasi "Tere, maailm!" või muu sarnase.

    JavaScript on keel, milles saab programme erinevates keskkondades käivitada. Meie puhul räägime brauseritest ja serveriplatvormist Node.js. Kui te pole veel ühtegi rida JS-koodi kirjutanud ja loete seda teksti lauaarvuti brauseris, tähendab see, et olete oma esimesest JavaScripti programmist sõna otseses mõttes sekundite kaugusel.

    Kui kasutate Google Chrome'i, avage selle kirjutamiseks brauseri menüü ja valige käsk Lisatööriistad > Arendaja tööriistad. Brauseri aken jagatakse kaheks osaks. Ühes neist on leht nähtav, teises avaneb arendajatööriistadega paneel, mis sisaldab mitmeid järjehoidjaid. Oleme huvitatud vahekaardist Konsool. Klõpsake sellel. Ignoreeri seda, mis võib konsoolis juba olemas olla (selle kustutamiseks võite kasutada klahvikombinatsiooni Ctrl + L). Oleme nüüd huvitatud konsooli kutsest. Siin saate sisestada JavaScripti koodi, mis käivitatakse sisestusklahvi vajutamisega. Sisestame konsooli järgmised andmed:

    Console.log ("Tere, maailm!")
    Seda teksti saab sisestada klaviatuurilt või kopeerida ja kleepida konsooli. Tulemus jääb sama, aga kui õpid programmeerima, siis on soovitatav programmitekstid ise sisestada, mitte kopeerida.

    Kui programmi tekst on konsoolis, vajutage sisestusklahvi.

    Kui kõik on õigesti tehtud, ilmub selle rea alla tekst Tere, maailm! . Ignoreeri praegu kõike muud.


    Esimene programm brauseri konsoolis - sõnumi väljastamine konsooli

    Teine brauseri versioon "Tere, maailm!" koosneb sõnumiakna kuvamisest. Seda tehakse järgmiselt:

    Alert ("Tere, maailm!")
    Siin on selle programmi käivitamise tulemus.


    Kuvage sõnum aknas

    Pange tähele, et arendaja tööriistariba asub nüüd ekraani allosas. Selle asukohta saate muuta, kasutades menüüd, mille pealkirjas on kolm punkti, ja valides sobiva ikooni. Sealt leiate ka nupu selle paneeli sulgemiseks.

    Arendaja tööriistad, sealhulgas konsool, on saadaval ka teistes brauserites. Konsooli hea külg on see, et see on brauserit kasutades alati käepärast.

    JS-koodi brauseris käitamiseks on ka teisi võimalusi. Seega laaditakse JavaScripti programmide tavapärasel kasutamisel need veebilehtede töötamiseks brauserisse. Kood vormistatakse reeglina eraldi .js laiendiga failidena, mis on ühendatud veebilehtedega, kuid programmi koodi saab ka otse lehe koodi sisse lülitada. Kõik see tehakse sildi abil. Kui brauser leiab sellise koodi, käivitab see selle. Märgi üksikasju leiate veebisaidilt w3school.com. Eelkõige vaatleme selles ressursis toodud näidet, mis näitab, kuidas töötada veebilehega JavaScripti abil. Seda näidet saab käivitada ka seda ressurssi kasutades (otsige nuppu Proovige ise), kuid teeme seda veidi teisiti. Nimelt loome mõnes tekstiredaktoris (näiteks VS Code'is või Notepad++'is) uue faili, mida hakkame kutsuma hello.html , ja lisame sellele järgmise koodi:

    document.getElementById("tere").innerHTML = "Tere, maailm!";
    Siin huvitab meid enim rida document.getElementById("tere").innerHTML = "Tere, maailm!"; , mis on JS-kood. See kood on suletud avamis- ja sulgemismärgenditesse. See leiab dokumendist HTML-i elemendi identifikaatoriga tere ja muudab selle sisemise HTML-i atribuudi (st selle elemendi sees oleva HTML-koodi) väärtuseks Tere, maailm! . Kui avate faili hello.html brauseris, kuvatakse määratud tekst.


    Sõnumi väljund JavaScripti abil HTML-elemendile

    Nagu juba mainitud, saate veebilehel w3school.com toodud näiteid kohe proovida. Samuti on olemas spetsiaalsed veebikeskkonnad veebiarenduseks ja eelkõige JS-koodi täitmiseks. Nende hulgas näiteks codepen.io, jsfiddle.net, jsbin.com.

    Siin näeb näiteks välja meie näide, mis on CodePeni abil uuesti loodud.


    HTML-väli sisaldab HTML-elementi kirjeldavat koodi, JS-väli JavaScripti koodi ja tulemus kuvatakse lehe allosas.

    Eespool ütlesime, et JavaScripti programme saab käivitada erinevatel platvormidel, millest üks on Node.js serverikeskkond. Kui kavatsete õppida JavaScripti, keskendudes serveripoolsele arendusele, peaksite tõenäoliselt esitama näiteid Node.js-i abil. Pange tähele, et lihtsalt öeldes ja võtmata arvesse konkreetsete keelefunktsioonide spetsiifilist tuge Node.js-i versioonide ja kasutatava brauseri poolt, töötab Node.js-is ja põhimehhanisme kasutavas brauseris sama kood. keelest. See tähendab, et näiteks käsk console.log("Tere, maailm!") töötab mõlemas kohas. Programmid, mis kasutavad brauserispetsiifilisi mehhanisme, ei tööta Node.js-is (sama kehtib katsete kohta käivitada Node.js-i programme brauseris).

    Et käivitada meie "Tere, maailm!" Node.js keskkonnas installige Node.js, laadides siit alla vastava distributsiooni. Nüüd loome faili hello.js ja asetame sellesse järgmise koodi:

    Console.log("Tere, maailm!");
    Minge käsurea abil kausta, kuhu see fail on salvestatud, ja käivitage järgmine käsk:

    Sõlm hello.js
    Selle täitmise tulemus on järgmine:


    Sõnumi väljund Node.js-iga

    Muide, olete märganud (ja tõenäoliselt märkasite, kui sisestasite koodi ise), et mõnes ülaltoodud näidetes kasutatakse semikooloneid ridade lõpus, teistes aga mitte. Mõnes on tekst, mida tahame konsooli või sõnumina väljastada, ümbritsetud jutumärkidega, teistes aga üksikjutumärkidega. Nüüd võite küsida, miks see nii on ja kuidas saate koodi õigesti kirjutada, kui koodi erinevad versioonid töötavad ilma vigadeta. Kui vastata sellele küsimusele detailidesse laskumata ja mõningaid pisidetaile arvesse võtmata, siis võib öelda, et nii jutumärkide kui semikoolonite kasutamine on vastuvõetav ja toimib samamoodi. Konkreetse valiku valik sõltub programmeerija järgitavast kodeerimisstiilist ja programmi teatud fragmendi vajadustest. Lisaks oli nendest lihtsatest näidetest tunda JavaScripti üht iseloomulikku omadust, milleks on see, et keel annab programmeerijale teatud vabaduse.

    Nüüd, kui olete JavaScriptiga esimest korda tutvunud, soovitame teil sellest keelest üksikasjalikumalt rääkida.

    JavaScripti mõistmine JavaScript on üks populaarsemaid programmeerimiskeeli maailmas. See loodi rohkem kui 20 aastat tagasi ja on oma arengus kaugele jõudnud. JavaScript oli mõeldud brauserite skriptikeeleks. Päris alguses olid tal palju tagasihoidlikumad võimed kui praegu. Seda kasutati peamiselt lihtsate animatsioonide (nt rippmenüüde) loomiseks ja seda tunti dünaamilise HTML-tehnoloogia (DHTML, dünaamiline HTML) osana.

    Aja jooksul kasvasid vajadused veebikeskkonna järele, eriti tekkisid uued API-d ning JavaScriptil oli vaja veebiarendust toetada teiste tehnoloogiatega sammu pidada.

    Tänapäeval kasutatakse JS-i mitte ainult traditsioonilistes brauserites, vaid ka väljaspool neid. Eelkõige räägime serveriplatvormist Node.js, JavaScripti kasutamise võimalustest sisseehitatud ja mobiilirakenduste arendamisel ning väga paljude probleemide lahendamisest, mille lahendamiseks JavaScripti varem kasutatud pole.

    JavaScripti põhiomadused on keel, millel on järgmised funktsioonid:
    • Kõrge tase. See annab programmeerijale abstraktsioone, mis võimaldavad ignoreerida riistvara eripärasid, millel JavaScripti programme käivitatakse. Keel haldab mälu automaatselt prügikoguja abil. Selle tulemusel saab arendaja keskenduda tema ees seisvate probleemide lahendamisele, ilma et teda segaksid madala taseme mehhanismid (kuigi tuleb märkida, et see ei välista mälu ratsionaalse kasutamise vajadust). Keel pakub võimsaid ja mugavaid tööriistu erinevat tüüpi andmetega töötamiseks.
    • Dünaamiline. Erinevalt staatilistest programmeerimiskeeltest on dünaamilised keeled võimelised programmi täitmise ajal sooritama toiminguid, mida staatilised keeled teevad programmi kompileerimise ajal. Sellel lähenemisviisil on oma plussid ja miinused, kuid see annab arendajale selliseid võimsaid funktsioone nagu dünaamiline tippimine, hiline sidumine, peegeldamine, funktsionaalne programmeerimine, objektide muutmine käitusajal, sulgemised ja palju muud.
    • Dünaamiliselt trükitud. Muutujate tüüpe ei pea JS-i arendamise ajal määrama. Samasse muutujasse saab näiteks kõigepealt kirjutada stringi ja seejärel täisarvu.
    • Nõrgalt trükitud. Erinevalt tugevasti trükitud keeltest ei sunni nõrgalt trükitud keeled programmeerijat näiteks teatud olukordades kasutama teatud tüüpi objekte, teostades vajaduse korral kaudseid tüübikonversioone. See annab rohkem paindlikkust, kuid JS-programmid ei ole tüübikindlad, mis muudab tüübikontrolli keerulisemaks (TypeScript ja Flow on suunatud selle probleemi lahendamisele).
    • Tõlgendatav. Levinud on arvamus, et JavaScript on interpreteeritud programmeerimiskeel, mis tähendab, et selles kirjutatud programme ei pea enne täitmist kompileerima. Sellega seoses vastandub JS sellistele keeltele nagu C, Java ja Go. Praktikas kompileerivad brauserid programmi jõudluse parandamiseks JS-koodi enne selle käivitamist. See samm on aga programmeerijale läbipaistev ega nõua temalt täiendavat pingutust.
    • Multi-paradigma. JavaScript ei sunni arendajat kasutama ühtegi konkreetset programmeerimisparadigmat, erinevalt näiteks Javast (objektorienteeritud programmeerimine) või C-st (imperatiivne programmeerimine). JS-programme saate kirjutada objektorienteeritud paradigma abil, kasutades eelkõige ES6 standardis ilmunud prototüüpe ja klasse. JS-programme saab kirjutada ka funktsionaalses stiilis, kuna siin on funktsioonid esmaklassilised objektid. JavaScript võimaldab töötada ka C-s kasutatavas imperatiivses stiilis.
    Jah, muide, tuleb märkida, et JavaScriptil ja Java-l pole midagi ühist. Need on täiesti erinevad keeled JavaScripti ja ECMAScripti standardid ehk ES on standardi nimi, mis juhendab JavaScripti mootorite arendajaid, st neid keskkondi, kus JS-programme käivitatakse. Erinevad standardid toovad keelde sisse uusi jooni, millest rääkides mainitakse sageli ka standardite nimetust lühendatult, näiteks ES6. ES6 on sama mis ES2015, ainult esimesel juhul tähendab number standardi versiooninumbrit (6) ja teisel juhul standardi vastuvõtmise aastat (2015).

    Juhtub nii, et veebiprogrammeerimise maailmas on 1999. aastal vastu võetud ES3 standard olnud aktuaalne juba väga pikka aega. Standardil pole neljandat versiooni (nad üritasid sellele lisada liiga palju uusi funktsioone ja neid ei aktsepteeritud kunagi). 2009. aastal võeti vastu ES5 standard, mis oli keele tõeliselt tohutu uuendus, esimene 10 aasta jooksul. Pärast seda, 2011. aastal, võeti vastu ka ES5.1 standard, milles oli ka palju uut. Ka 2015. aastal vastu võetud ES6 standard muutus uuenduste osas väga oluliseks. Alates 2015. aastast on igal aastal vastu võetud standardi uusi versioone.

    Standardi uusim versioon selle materjali avaldamise ajal on ES9, mis võeti vastu 2018. aasta juunis.

    Tulemused Täna kirjutasime "Tere, maailm!" JavaScriptis vaatas keele põhiomadusi ja rääkis selle standardimisest. Järgmisel korral räägime JavaScripti tekstide stiilist ja programmide leksikaalsest struktuurist.

    Kallid lugejad! Kui te ei olnud enne selle materjali lugemist JavaScriptiga tuttav, öelge meile, kas suutsite käivitada "Tere, maailm!"

    JavaScripti süntaksi õpetus

    Enne JavaScripti keele õpetuse lugemist peaksite teadma .

    JavaScripti süntaksi õppimisel on see suureks plussiks, kui olete juba tuttav mõne programmeerimiskeelega, nagu PHP, C või Pascal, ja mõistate ka, mis on muutuja, andmetüüp, funktsioon või massiiv.

    Kui sa aga programmeerimiskeeltega kursis ei ole, siis pole põhjust muretseda, see JavaScripti õpetus on mõeldud neile, kes alustavad programmeerimise õppimist esimest korda.

    JavaScript (JavaScript) on kliendipoolne programmeerimiskeel, mille abil saab juhtida HTML-lehe elemente (HTML-sildid) ja veebibrauserit, panna neid liikuma, reageerida erinevatele sündmustele (hiireklõpsud, klaviatuurivajutused) ja luua palju huvitavad programmid (skriptid): testid, animatsioon, pildigaleriid (näiteks nagu VKontakte'is), mängud ja palju muud.

    Kuidas õppida JavaScripti

    JavaScripti õppimine jaguneb tavaliselt neljaks etapiks:
    1. Pea JavaScripti süntaks (see õpetus),
    2. DOM-i ja BOM-i uuring,
    3. DOM-i ja BOM-i haldamine JavaScripti abil,
    4. Erinevate JavaScripti teekide uurimine. jQuery on hetkel kõige populaarsem teek (2015. aasta lõpus peaks sellel saidil ilmuma jQuery õpetus).

    DOM on dokumendiobjekti mudel. Tänu DOM-tehnoloogiale hakkavad HTML-lehe sildid esindama objektide puud ja igal selle puu objektil on oma kordumatu aadress. JavaScripti keel pääseb sellele aadressile ligi pääsedes ligi ühele või teisele HTML-i märgendile ja sellega manipuleerida (muuta värvi, suurust, asukohta jne).

    BOM on brauseri dokumendimudel. Struktuur on sama, mis DOM-il, ainult HTML-i leheobjektide asemel on brauseri objektid: brauseriaken, brauseri ekraani suurus, sirvimisajalugu, olekurida jne.

    Pärast DOM-i ja BOM-i uurimist hakkame looma enam-vähem keerulisi JavaScripti skripte, mis suhtlevad lehe ja brauseriga.

    Seejärel, olles muutunud veidi mugavamaks, uurivad nad mõnda JavaScripti teeki, näiteks jQueryt, tänu millele saate luua samu programme, mis JavaScriptis, ainult palju kiiremini ja tõhusamalt.

    Mõned veebimeistrid hakkavad kohe õppima jQueryt, jättes kolm eelmist sammu vahele, kuid ma ei soovita seda teha, kuna igal juhul peate mõistma JavaScripti süntaksit ja teadma DOM/BOM-objekte, nende omadusi, meetodeid ja eesmärke.

    Milliseid programme saab JavaScripti kasutades kirjutada?

    Saate seda kasutada paljude huvitavate programmide (skriptide) loomiseks:
    — saate luua skripte, mis muudavad veebisaidi lehe elemente või nende asukohta, klõpsates ühel või teisel nupul,
    - saate luua animatsiooni,
    — töödelda vorme, näiteks kontrollida kasutaja sisestatud andmete õigsust,
    — luua erinevaid teste, näiteks ühtne riigieksam (koolieksamid) ja saada kohe tulemus,
    - tänu BOM-ile saate teada teie saiti külastanud kasutaja brauseri ja arvuti omadused, mis võimaldab teil luua erinevaid külastusloendureid,
    — JavaScripti abil saate luua isegi mänge, koomikseid ja palju muid huvitavaid ja kasulikke programme.

    Mis on selle JavaScripti õpetuse eesmärk?

    Selle JavaScripti raamatu eesmärk on õpetada teile JavaScripti süntaksi põhitõdesid, tutvustades teile programmeerimist ja selliseid mõisteid nagu muutujad, andmetüübid, operatsioonid, harulaused, funktsioonid, tsüklid, massiivid, objektid jne. Seda kõike leidub ka teistes programmeerimiskeeltes, nii et kui olete JavaScripti valdanud, on teil palju lihtsam õppida teisi keeli, nagu PHP, C++ või Python.

    JavaScripti õpetuse struktuur

    JavaScripti õpetuses käsitletakse järgmisi teemasid ja õppetükke.