JavaScript varijable razlikuju velika i mala slova. JavaScript sintaksa jednostavnim riječima. Deklaracija funkcije i izraz funkcije

JavaScript sintaksa je skup pravila za kreiranje JavaScript programa. U ovoj lekciji ćemo se osvrnuti na osnovne leksičke strukture jezika.

Skup znakova

Prilikom pisanja programa u JavaScript-u, koristi se Unicode skup znakova. Za razliku od 7-bitnog kodiranja, koje je pogodno samo za engleski jezik, i 8-bitno kodiranje pogodno samo za engleski i glavne zapadnoevropske jezike, 16-bitni Unicode podržava gotovo svaki pisani jezik na planeti. Standard ECMAScript v3 zahtijeva implementacije JavaScripta da podržavaju Unicode verziju 2.1 ili noviju, a ECMAScript v5 standard zahtijeva implementacije koje podržavaju Unicode verziju 3 ili noviju.

Var str = "zdravo, svijet!"; // Koristi se latinica var str = "Zdravo, svijete!"; // Koristi ćirilicu

Razmaci

Razmak poboljšava čitljivost izvorni kod, ali ovi simboli općenito nisu potrebni za funkcionalnost js skripte.

Razmaci Šifra simbola Naziv Skraćenica Opis Escape sekvenca
U+0009 Horizontalna tabela Pomiče poziciju ispisa na sljedeći horizontalni tabulator \t
U+000B Vertikalna kartica Pomiče poziciju za štampanje do sledećeg vertikalnog tabulatora \v
U+000C Feed stranice, promjena stranice Izbacuje trenutnu stranicu i počinje štampati od sljedeće \f
U+0020 Space Razmak između slova
U+00A0 Nerazbijajući prostor Znak koji se pojavljuje unutar niza poput regularnog prostora, ali ne dozvoljava prekid linije u ovom trenutku

Pored razmaka, znakovi na kraju reda se također koriste za poboljšanje čitljivosti izvornog teksta. Međutim, u nekim slučajevima znakovi na kraju reda mogu utjecati na izvršenje JavaScript kod, budući da postoji nekoliko trenutaka kada je njihova upotreba zabranjena. Znakovi na kraju reda također utiču na proces automatska instalacija tačka i zarez.

JavaScript interpretatori prepoznaju sljedeće znakove kao znakove na kraju reda:

Tačka i zarez

JavaScript program (skripta) je lista „instrukcija“ koje izvršava veb pretraživač.
U JavaScript-u, izjave su obično odvojene tačkom i zarezom (;).

Ako se nekoliko instrukcija nalazi u jednom redu, između njih treba staviti tačku i zarez (;).

U mnogim slučajevima, JavaScript tumači novi red kao separator naredbi da automatski unese tačku i zarez (ASI) za završetak naredbi.
Ako je svaka instrukcija postavljena u poseban red, onda se separator može izostaviti:

Jedna instrukcija se može locirati u nekoliko redova:

U ovom slučaju, JavaScript čeka da se izraz završi i stoga ne ubacuje automatski "virtuelnu" tačku i zarez između redova.

Napomena: Iako su tačke i zareze opcione na kraju izraza, preporučuje se da ih uvijek dodate. Sada je ovo pravilo koje slijede svi veliki projekti.

Ovo pravilo sprečava neke greške, kao što je nedovršen unos, a takođe vam omogućava komprimovanje koda uklanjanjem razmaka. Kompresija koda bez tačaka i zareza dovodi do sintaksičkih grešaka. Pored toga, prisustvo tačaka i zareza sprečava degradaciju performansi jer parseri pokušavaju da isprave sumnjive greške dodavanjem tačaka i zareza koji nedostaju.

Osetljivost velikih i malih slova

JavaScript programi su napisani pomoću Unicode skupa znakova, koji uključuje skupove znakova ASCII i Latin-1 i podržan je na gotovo svim jezicima i platformama.
U JavaScript-u, svi elementi, uključujući imena varijabli, funkcija i operatora, razlikuju velika i mala slova i uvijek moraju sadržavati isti skup znakova velikih i malih slova. mala slova. Na primjer, ključna riječ while bi trebala biti otkucana kao "while" umjesto "While" ili "WHILE".

Slično, num, NUM i Num su tri različite varijable:

Komentari

Komentari vam omogućavaju da istaknete fragment programa koji ne izvršava JavaScript interpreter, već služi samo za objašnjenje sadržaja programa.
Komentari u JS-u mogu biti jednoredni ili višeredni.

Komentari u jednom redu počinju dvostrukom kosom crtom // . Tekst se smatra komentarom do kraja reda:

Komentar u više redaka počinje kosom crtom i zvjezdicom (/*) i završava se s njima obrnutim redoslijedom (*/). Na ovaj način možete komentirati jedan ili više redaka:

Savjet: Nemojte zanemariti komentare u svojim kodovima. Oni će vam biti korisni prilikom otklanjanja grešaka i održavanja programa. U fazi razvoja, možda je bolje komentirati nepotreban fragment programa nego ga jednostavno izbrisati. Šta ako se mora obnoviti?

Identifikatori

Identifikator je niz slova, brojeva, donjih crta (_) i znakova dolara ($). Broj ne može biti prvi znak identifikatora jer bi to otežalo JavaScript interpretatoru da razlikuje identifikatore od brojeva. Identifikatori djeluju kao imena varijabli, funkcija, svojstava objekata itd.
Za kompatibilnost i jednostavnost uređivanja, samo ASCII znakovi i brojevi se obično koriste za sastavljanje identifikatora. Međutim, u ECMAScript v3, identifikatori mogu sadržavati slova i brojeve iz full set Unicode znakovi. Ovo omogućava programerima da imenuju varijable na svojim maternjim jezicima i koriste matematičke simbole u njima:

Var name = "Max"; var Π = 3,14;

Istorijski gledano, programeri su koristili različite načine kombinovanje više reči za snimanje identifikatora. Danas postoje dva neizgovorena stila: camelCase i snake_case.
U JavaScript-u, najpopularniji stil imenovanja za identifikatore sa više riječi je camelCase. To znači da je prvo slovo malo, a prva slova svih sljedećih riječi velika, na primjer:

Var firstSecond; var myCar = "audi"; var doSomethingImportant;

Napomena: U JavaScript-u, kombinovanje više reči za pisanje identifikatora pomoću crtica nije dozvoljeno. Oni su rezervisani za matematička oduzimanja.

Napomena: U JavaScript-u ključne riječi, rezervirane riječi i vrijednosti true , false i null ne mogu biti identifikatori.

Ključne riječi i rezervirane riječi

ECMA-262 standard definira skup ključnih riječi koje se ne mogu koristiti kao identifikatori. Rezervirane riječi imaju specifično značenje u JavaScript-u jer su dio sintakse jezika. Korištenje rezerviranih riječi će rezultirati greškom kompilacije prilikom učitavanja skripte.

Rezervirane ključne riječi prema verziji ECMAScript® 2015
  • break
  • uhvatiti
  • klasa
  • konst
  • nastaviti
  • debugger
  • default
  • izbrisati
  • izvoz
  • produžava
  • konačno
  • funkcija
  • uvoz
  • instanceof
  • povratak
  • super
  • prekidač
  • bacanje
  • typeof
  • dok
  • prinos
Ključne riječi rezervirane za buduću upotrebu

Osim toga, ECMA-262 sadrži skup rezerviranih riječi, koje se također ne mogu koristiti kao identifikatori ili imena svojstava. Trenutno nema funkcionalnosti iza njih, ali se može pojaviti u budućim verzijama:

  • čekati

U strogom načinu rada, sljedeće riječi se dodaju na ovu listu:

  • pribor
  • paket
  • zaštićeno
  • statički
  • interfejs
  • privatni
  • javnosti
Rezervirane ključne riječi u ECMAScript® verzijama 1 do 3
  • apstraktno
  • boolean
  • duplo
  • final
  • float
  • native
  • kratko
  • sinhronizovano
  • prolazno
  • volatile

U 5. izdanju ECMAScript-a, malo su izmijenjena pravila za korištenje ključnih riječi i rezerviranih riječi. Kao i ranije, oni ne mogu biti identifikatori, ali sada se mogu koristiti kao imena svojstava u objektima. Međutim, kako bi se osigurala kompatibilnost s prošlim i budućim izdanjima ECMAScript-a, i dalje je najbolje ne koristiti ključne riječi i rezervirane riječi kao identifikatore i nazive svojstava.

Rezultati
  • JavaScript interpreter zanemaruje svaki razmak koji može biti prisutan između jezičkih konstrukcija i tretira tekst programa kao kontinuirani tok koda.
    Osim toga, JavaScript također, uglavnom, zanemaruje znakove novog reda. Stoga se razmaci i novi redovi mogu koristiti bez ograničenja u izvornom kodu programa kako bi se formatirao i dao im čitljiv izgled.
  • Izostavljanje tačaka i zareza ne smatra se dobrom programskom praksom, te je stoga preporučljivo da steknete naviku da ih koristite.
  • U JavaScript-u, svi elementi, uključujući imena varijabli, funkcija i operatora, razlikuju velika i mala slova i uvijek moraju sadržavati isti skup velikih i malih slova.
  • Nemojte zanemariti komentare u svojim kodovima. Oni će vam biti korisni prilikom otklanjanja grešaka i održavanja programa. Ne brinite o povećanju veličine koda jer... Postoje JavaScript alati za kompresiju koji će lako ukloniti komentare kada se objave.
  • Identifikatori djeluju kao imena varijabli, funkcija, svojstava objekta i sastoje se od niza slova, brojeva, donjih crta (_) i znakova dolara ($) .
  • JavaScript ključne riječi koje se koriste za označavanje elemenata sintakse jezika, kao i druge riječi rezervirane za buduću upotrebu, ne mogu se koristiti kao imena varijabli, funkcija ili objekata.

JavaScript se može implementirati pomoću JavaScript naredbi, koje se postavljaju HTML oznake skripta ... /script na web stranici.

Možete postaviti oznake skripte koje sadrže vaš JavaScript bilo gdje na vašoj web stranici, ali općenito se preporučuje da ih pohranite u oznake head.

Oznaka skripte upozorava program pretraživača da počne tumačiti sav tekst između ovih oznaka kao skriptu. Jednostavna sintaksa za vaš JavaScript bi izgledala ovako.

JavaScript kod

Oznaka skripte sadrži dva važna atributa -

  • Jezik - Ovaj atribut pokazuje koji skriptni jezik koristite. Obično će njegova vrijednost biti javascript. Iako su najnovije verzije HTML-a (i XHTML-a, njegovog nasljednika) prestale koristiti ovaj atribut.
  • Tip. Ovaj atribut se sada preporučuje da označi jezik skripte koji se koristi i njegovu vrijednost treba postaviti na "text/javascript".

Dakle, vaš JavaScript segment bi izgledao ovako:

JavaScript kod

Vaša prva JavaScript skripta

Uzmimo primjer za ispis " Hello World" Dodali smo dodatni HTML komentar koji okružuje naš JavaScript kod. Ovo je za spremanje našeg koda iz pretraživača koji ne podržava JavaScript. Komentar završava sa "// ->". Ovdje "//" znači komentar u JavaScript-u, pa ga dodajemo kako bismo spriječili pretraživač da pročita kraj HTML komentara kao dio JavaScript koda. Zatim pozivamo funkciju document.write, koja upisuje string u naš HTML dokument.

Ova funkcija se može koristiti za pisanje teksta, HTML-a ili oboje. Pogledajte sljedeći kod.

Ovaj kod će dati sljedeći rezultat:

Hello World!

Razmaci i prijelomi linija

JavaScript zanemaruje razmake, tabulatore i nove redove koji se pojavljuju u JavaScript programima. Možete slobodno koristiti razmake, tabulatore i nove redove u svom programu, i možete formatirati i uvlačiti svoje programe na uredan i dosljedan način, čineći vaš kod lakim za čitanje i razumijevanje.

Tačke i zareze u JavaScript-u

IN jednostavna uputstva u JavaScript-u ga obično prati tačka-zarez, kao u C, C++ i Javi. Međutim, JavaScript vam omogućava da preskočite ovu tačku i zarez ako svaku svoju izjavu stavite u poseban red. Na primjer, sljedeći kod bi mogao biti napisan bez tačaka i zareza.

Ali kada ovako formatirate u jednom redu, morate koristiti tačku i zarez -

Napomena. Dobra je programska praksa koristiti tačku i zarez.

Osetljivost velikih i malih slova

JavaScript je jezik koji razlikuje velika i mala slova. To znači da ključne riječi, varijable, nazivi funkcija i bilo koji drugi identifikatori moraju uvijek biti uneseni konzistentnim velikim slovom.

Dakle, identifikatori vremena i TIME će prenijeti različita značenja JavaScriptu.

NAPOMENA. Trebali biste biti oprezni kada pišete imena varijabli i funkcija u JavaScript-u.

JavaScript sintaksa

Od 1995. godine, JavaScript je prošao dug put od skromne komponente Netscape pretraživača do današnjih JIT interpretatora visokih performansi. Čini se da su prije samo pet godina programeri bili zapanjeni pojavom Ajaxa, a sada su složene JavaScript aplikacije dostigle količine od stotina i hiljada linija koda.

Prošle godine pojavila se nova generacija JavaScript aplikacija koje se ne razlikuju od desktop aplikacija, što je nevjerovatan napredak u web tehnologiji. Nestali su spori zahtjevi za stranicom svaki put kada korisnik stupi u interakciju s aplikacijom. JavaScript motori su postali toliko moćni da je moguće sačuvati stanje na strani klijenta, što značajno ubrzava odziv aplikacije i poboljšava kvalitet njenih performansi.

Ako poznajete druge programske jezike, možda će vam biti od pomoći saznati da je JavaScript na visokom nivou, dinamički, netipizirani i interpretirani programski jezik koji je vrlo prikladan za objektno orijentirane i funkcionalne stilove programiranja. JavaScript nasljeđuje svoju sintaksu od jezika Java, svoje prvorazredne funkcije od jezika Scheme, a mehanizam nasljeđivanja zasnovan na prototipima od jezika Self. Ali ne morate znati sve ove jezike ili biti upoznati s njihovom terminologijom da biste naučili JavaScript.

U ovom članku ćemo pogledati osnovne leksičke strukture jezika.

Simboli

Prilikom pisanja programa u JavaScript-u, koristi se Unicode skup znakova. Unicode je superskup ASCII i Latin-1 i podržava gotovo svaki pisani jezik na planeti. Standard ECMAScript 3 zahtijeva implementacije JavaScripta da podržavaju Unicode verziju 2.1 ili noviju, a ECMAScript 5 standard zahtijeva implementacije koje podržavaju Unicode verziju 3 ili noviju.

Osetljivost velikih i malih slova

JavaScript je jezik koji razlikuje velika i mala slova. To znači da ključne riječi, imena varijabli i funkcija, kao i bilo koji drugi identifikatori jezika moraju uvijek sadržavati isti skup velikih i malih slova.

Na primjer, ključna riječ while bi trebala biti otkucana kao "while" umjesto "While" ili "WHILE". Slično, myvar, Myvar, MyVar i MYVAR su imena četiri različite varijable. Imajte na umu, međutim, da HTML jezik za označavanje (za razliku od XHTML-a) nije osjetljiv na velika i mala slova. Budući da su HTML i JavaScript na strani klijenta blisko povezani, ova razlika može biti zbunjujuća. Mnogi JavaScript objekti i njihova svojstva imaju ista imena kao oznake i atributi HTML jezik koje predstavljaju. Međutim, dok se u HTML-u ove oznake i atributi mogu kucati u svakom slučaju, u JavaScript-u se obično moraju kucati malim slovima.

Na primjer, onclick atribut obrađivača događaja najčešće je specificiran kao onClick u HTML-u, ali u JavaScript kodu (ili XHTML dokumentu) mora biti označen kao onclick.

Razmaci, novi redovi i kontrolni znakovi formata

JavaScript zanemaruje razmake koji mogu biti prisutni između tokena u programu. Osim toga, JavaScript također u velikoj mjeri zanemaruje nove redove. Stoga se razmaci i novi redovi mogu koristiti bez ograničenja u izvornom kodu programa kako bi se formatirao i dao im čitljiv izgled.

Osim običnog razmaka (\u0020), JavaScript dodatno prepoznaje sljedeće znakove kao razmak: tab (\u0009), vertikalni tabulator (\u000B), feed za format (\u000C), razmak bez prekida (\u00A0), oznaka reda bajtova (\uFEFF), kao i svi Unicode znakovi klasifikovani kao Z.

Sljedeće znakove prepoznaju kao znakove na kraju reda od strane JavaScript interpretatora: prijelaz na red (\u000A), povratak na red (\u000D), separator reda (\u2028) i separator pasusa (\u2029). Slijed znakova za povratak i pomak reda se tumači kao znak završetka jednog reda.

Kontrolni znakovi Unicode formata (kategorija Cf), kao što su OZNAKA DESNO NA LIJEVO (\u200F) i LIJEVA NA DESNO (\u200E), kontroliraju vizualnu prezentaciju teksta u kojem se pojavljuju. Oni su od velikog značaja za ispravan prikaz tekst na nekim jezicima i važeći su u JavaScript komentarima, string literalima i literalima regularnih izraza, ali ne i u identifikatorima (kao što su imena varijabli) definiranim u JavaScript programima. Izuzeci su ZERO WIDTH JOINER (\u200D) i ZERO WIDTH NON-JOINER (\u200C), koji se mogu koristiti u identifikatorima pod uslovom da nisu prvi znakovi identifikatora.

Možete pogledati kompletnu tabelu Unicode znakova na web stranici Unicode Table.

Opcione tačke i zareze

Kao i drugi programski jezici, JavaScript koristi tačku i zarez (;) da odvoji izjave jedne od drugih. Upotreba tačaka sa zarezom je od suštinskog značaja da bi programerova namera bila jasna: bez ovog separatora, kraj jedne instrukcije se može zameniti početkom sledeće, i obrnuto.

Obično u JavaScriptu ne morate stavljati tačku i zarez između naredbi ako se nalaze na različitim redovima. (Tačka i zarez se takođe može izostaviti na kraju programa ili ako je sledeći token u programu zatvarajuća vitičasta zagrada.) Mnogi JavaScript programeri koriste tačku i zarez da eksplicitno označe krajeve naredbi, čak i kada nisu neophodni.

Pogledajte sljedeći isječak. Budući da su dvije izjave u različitim redovima, prva tačka i zarez se može izostaviti:

Međutim, ako su ove upute napisane kako je prikazano u nastavku, prva točka-zarez postaje obavezna:

Komentari

JavaScript podržava dva načina oblikovanja komentara. Svaki tekst između // znakova i kraja reda tretira se kao komentar i JavaScript ga ignorira. Svaki tekst između znakova /* i */ također se smatra komentarom. Ovi komentari mogu obuhvatiti više redova, ali ne mogu biti ugniježđeni. Sljedeći redovi su važeći JavaScript komentari:

// Ovo je komentar u jednom redu.

/* Ovo je također komentar */ // a ovo je još jedan komentar.

/* Ovo je još jedan komentar.

Nalazi se u nekoliko linija.

*/

Identifikatori i rezervirane riječi

JavaScript zadržava određeni broj identifikatora koji djeluju kao ključne riječi za sam jezik. Ove ključne riječi ne mogu poslužiti kao identifikatori u programima. JavaScript također zadržava neke ključne riječi koje trenutno nisu dio jezika, ali koje bi mogle postati njegov dio u budućim verzijama. U tabeli ispod su navedene sve ključne riječi po kategorijama:

Rezervirane JavaScript ključne riječi Kategorija Ključne riječi
Osnovni identifikatori break funkcija brisanja return typeof
case do if switch var
uhvatiti drugo u ovoj praznini
nastavi false instanceof throw while
debugger konačno novi true with
default za null try
Nove ključne riječi u EcmaScript 5 standardu class const enum export
proširuje uvoz super
Rezervirane riječi u strogom načinu rada (dostupne su u normalnom načinu) oruđa neka privatni javni prinos
paket interfejsa zaštićen statički

JavaScript sintaksa je skup pravila za izradu JavaScript programa.

JavaScript programi

Računarski program je lista "instrukcija" koje treba "izvršiti" od strane računara.

U programskom jeziku, ovo programske upute se nazivaju izjavama.

JavaScript je programski jezik.

JavaScript iskazi su odvojeni tačkom i zarezom.

HTML, JavaScript programi se mogu izvršavati pomoću web pretraživača.

JavaScript izjave

JavaScript iskazi se sastoje od:

Vrijednosti, operatori, izrazi, ključne riječi i komentari.

JavaScript vrijednosti

JavaScript sintaksa definira dvije vrste vrijednosti: fiksne vrijednosti i varijabilne vrijednosti.

Fiksne vrijednosti se nazivaju literali.

Vrijednosti varijabli se nazivaju varijable.

JavaScript literali

Najvažnija pravila za pisanje fiksnih vrijednosti su:

Brojevi se pišu sa ili bez decimalnih mjesta:

Redovi teksta pisani u dvostrukim ili jednostrukim navodnicima:

JavaScript varijable

U programskom jeziku, varijable se koriste za pohranjivanje vrijednosti podataka.

JavaScript koristi ključnu riječ var za deklariranje varijabli.

Znak jednakosti se koristi za dodjelu vrijednosti varijablama.

U ovom primjeru, x je definiran kao varijabla. Tada se x dodjeljuje (daje) vrijednost 6:

JavaScript operatori

JavaScript koristi operator dodjeljivanja (=) za dodjelu vrijednosti varijablama: JavaScript koristi aritmetički operatori

(+ - * /) za izračunavanje vrijednosti:

JavaScript izrazi

Proračun se naziva procjena.

Na primjer, 5 * 10 uzima vrijednost 50:

Izrazi također mogu sadržavati varijabilne vrijednosti:

Vrijednosti mogu biti razne vrste, kao što su brojevi i nizovi.

Na primjer, "John" + "," + "Doe" uzima vrijednost "John Doe":

JavaScript ključne riječi

JavaScript ključne riječi se koriste za definiranje radnji koje treba izvršiti.

Ključna riječ var govori pretraživaču da kreira novu varijablu:

JavaScript Comments

Neće se svi JavaScript izrazi "izvršiti".

Kôd nakon dvostrukih kosih crta // ili između /* i */ tretira se kao komentar.

Komentari se zanemaruju i neće biti izvršeni:

JavaScript identifikatori

Identifikatori su imena.

U JavaScript-u se identifikatori koriste za imenovanje varijabli (i ključnih riječi, kao i funkcija i oznaka).

Pravila za legalna imena su ista u većini programskih jezika.

U JavaScript-u, prvi znak mora biti slovo, donja crta (_) ili znak dolara ($).

Naredni znakovi mogu biti slova, brojevi, donje crte ili znakovi dolara.

Brojevi nisu dozvoljeni kao prvi znak.
Na ovaj način JavaScript može lako razlikovati identifikatore od brojeva.

JavaScript je osjetljiv na velika i mala slova

Svi JavaScript identifikatori razlikuju velika i mala slova.

Varijable Prezime i PREZIME su dvije različite varijable.

JavaScript ne tumači VAR ili Var kao ključna riječ var.

JavaScript i Camel Case

Istorijski gledano, programeri su koristili tri načina da kombinuju više reči u jedno ime varijable:

crtice:

ime, prezime, master-card, međugradski.

Crtice nisu dozvoljene u JavaScript-u. Namijenjen je oduzimanju.

donja crta:

ime, prezime, master_card, inter_city.

Camel Case:

Ime, Prezime, MasterCard, InterCity.

U programskim jezicima, posebno u JavaScript-u, velika mala kamila često počinje malim slovom:

ime, prezime, masterCard, interCity.

JavaScript skup znakova

JavaScript koristi Unicode skup znakova.

Unicode pokriva (skoro) svaki simbol, interpunkciju i glif na svijetu.

Veza