You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/01-getting-started/1-intro/article.md
+17-17Lines changed: 17 additions & 17 deletions
Original file line number
Diff line number
Diff line change
@@ -4,37 +4,37 @@ Pažvelkime kuo ypatinga JavaScript kalba, ką mes galime su ja padaryti ir koki
4
4
5
5
## Kas yra JavaScript?
6
6
7
-
Iš pat pradžių *JavaScript* buvo sukurta tam, kad *"padarytų tinklalapius gyvus"*.
7
+
Iš pat pradžių *JavaScript* buvo sukurta tam, kad *“padarytų tinklalapius gyvus”*.
8
8
9
-
Programos, parašytos šia kalba yra vadinamos *skriptais* (and. scripts). Jos gali būti parašytos tinklalapio HTML ir suveikti automatiškai, kuomet tinklalapis kraunamas.
9
+
Programos, parašytos šia kalba yra vadinamos *skriptais* (and. *scripts*). Jos gali būti parašytos tinklalapio HTML ir suveikti automatiškai, kuomet tinklalapis kraunamas.
10
10
11
-
Skriptai yra rašomi ir vykdomi paprastu (ang. "plain") tekstu. Jiems nereikia kompiliavimo fazės.
11
+
Skriptai yra rašomi ir vykdomi paprastu tekstu. Jiems nereikia kompiliavimo fazės.
12
12
13
13
Šiuo aspektu JavaScript labai skiriasi nuo [Java](https://en.wikipedia.org/wiki/Java_(programming_language)).
14
14
15
15
```smart header="Iš kur kilo pavadinimas JavaScript?"
16
-
Iš pat pradžių JavaScript turėjo kitą pavadinimą: "LiveScript". Tačiau Java buvo itin populiari, todėl buvo nuspręsta pateikti naują kalbą kaip Java "jaunesnį brolį".
16
+
Iš pat pradžių JavaScript turėjo kitą pavadinimą: “LiveScript”. Tačiau Java buvo itin populiari, todėl buvo nuspręsta pateikti naują kalbą kaip Java “jaunesnį brolį”.
17
17
18
18
Tačiau ilgainiui JavaScript tapo nepriklausoma kalba, turinti atskirą specifikaciją, kuri vadinama [ECMAScript](http://en.wikipedia.org/wiki/ECMAScript). Šiuo metu JavaScript ir Java neturi nieko bendro.
19
19
```
20
20
21
21
Dabar JavaScript gali būti vykdomas ne tik naršyklėje, bet taip pat ir serveryje arba praktiškai bet kokiame įrenginyje, kuris turi specialią programą, vadinamą JavaScript varikliu [(JavaScript engine)](https://en.wikipedia.org/wiki/JavaScript_engine).
22
22
23
-
Naršyklės turi savo vidinį variklį, kuris kartais vadinamas "JavaScript virtuali mašina"
23
+
Naršyklės turi savo vidinį variklį, kuris kartais vadinamas “JavaScript virtuali mašina”.
24
24
25
-
Skirtingi varikliai turi skirtingus slapyvardžius (ang. "nicknames"). Pavyzdžiui:
25
+
Skirtingi varikliai turi skirtingus slapyvardžius. Pavyzdžiui:
26
26
27
27
-[V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- Chrome, Opera ir Edge.
- ...Egzistuoja ir kiti slapyvardžiai, tokie kaip "Chakra" skirtingoms IE versijom, "JavaScriptCore", "Nitro", "SquirellFish" skirta Safari ir t.t.
29
+
- ...Egzistuoja ir kiti slapyvardžiai, tokie kaip “Chakra” skirtingoms IE versijom, “JavaScriptCore”, “Nitro”, “SquirellFish” skirta Safari ir t.t.
30
30
31
-
Šias sąvokas verta atsiminti, nes jos naudojamos straipsniuose, skirtuose programuotojams. Mes taip pat jas naudosime. Pavyzdžiui, jeigu "feature X yra palaikoma V8", reiškias jinai ko gero veikia Chrome, Opera ir Edge naršyklėse.
31
+
Šias sąvokas verta atsiminti, nes jos naudojamos straipsniuose, skirtuose programuotojams. Mes taip pat jas naudosime. Pavyzdžiui, jeigu “feature X yra palaikoma V8”, reiškias jinai ko gero veikia Chrome, Opera ir Edge naršyklėse.
32
32
33
33
```smart header="Kaip veikia varikliai?"
34
34
35
35
Varikliai yra sudėtingi, bet pagrindai yra paprasti.
36
36
37
-
1. Variklis (vidinis, jei jis yra naršyklėje) skaito (ang. "parsing") skriptą.
37
+
1. Variklis (vidinis, jei jis yra naršyklėje) skaito skriptą.
38
38
2. Konvertuoja (dar kitaip - kompiliuoja) skriptą į mašininį kodą.
39
39
3. Įvykdomas mašininis kodas.
40
40
@@ -43,19 +43,19 @@ Varikliai optimizuoja kodą kiekviename žingsnyje. Jie netgi stebi sukompiliuot
43
43
44
44
## Ką gali JavaScript padaryti naršyklėje?
45
45
46
-
Modernus JavaScript yra "saugi" programavimo kalba. Ji neleidžia programuotojui pasiekti atminties arba CPU, nes iš pat pradžių ji buvo sukurta naršyklėms, kurioms to nereikia.
46
+
Modernus JavaScript yra “saugi” programavimo kalba. Ji neleidžia programuotojui pasiekti atminties arba CPU, nes iš pat pradžių ji buvo sukurta naršyklėms, kurioms to nereikia.
47
47
48
48
JavaScript galimybės stipriai priklauso nuo aplinkos, kurioje ji vykdomas. Pavyzdžiui, [Node.js](https://wikipedia.org/wiki/Node.js) palaiko funkcijas, kurios leidžia Javascript skaityti/rašyti failus, vykdyti kompiuterių tinklų užklausas ir pan.
49
49
50
-
Naršyklėje JavaScript gali daryti bet ką, tame tarpe tinklalapio manipuliacijas, sąveikas (ang. "interaction") su vartotojais ir web serveriu.
50
+
Naršyklėje JavaScript gali daryti bet ką, tame tarpe tinklalapio manipuliacijas, sąveikas (ang. *interaction*) su vartotojais ir web serveriu.
51
51
52
52
Pavyzdžiui, JavaScript naršyklėje gali:
53
53
54
54
- Pridėti naują HTML į tinklalapį, pakeisti jau esamą turinį, pakeisti stilius.
55
55
- Reaguoti į vartotojo veiksmus, pelės, klaviatūros paspaudimus.
56
-
- Siųsti užklausas į nuotolinius (ang. "remote") serverius, atsisiųsti ir įkelti (ang. "upload") failus ([AJAX](https://en.wikipedia.org/wiki/Ajax_(programming)) ir [COMET](https://en.wikipedia.org/wiki/Comet_(programming)) technologijos).
57
-
- Gauti ir nustatyti slapukus (ang. "cookies"), užduoti klausimus vartotojo ir parodyti žinutes.
58
-
- Išsaugoti duomenis kliento pusėje (ang. "local storage").
56
+
- Siųsti užklausas į nuotolinius serverius, atsisiųsti ir įkelti failus ([AJAX](https://en.wikipedia.org/wiki/Ajax_(programming)) ir [COMET](https://en.wikipedia.org/wiki/Comet_(programming)) technologijos).
57
+
- Gauti ir nustatyti slapukus (ang. *cookies*), užduoti klausimus vartotojo ir parodyti žinutes.
58
+
- Išsaugoti duomenis kliento pusėje (ang. *local storage*).
59
59
60
60
## Ko NEGALI padaryti JavaScript naršyklėje?
61
61
@@ -69,7 +69,7 @@ Ribojimų pavyzdžiai:
69
69
Yra būdų komunikuoti su kamera/mikrofonu ir kitais įrenginiais, bet tai reikalauja išreikštinio vartotojo leidimo. Taigi, JavaScript tinklalapis negali suktai įjungti web kameros, stebėti aplinkos ir siųsti informaciją į [NSA](https://en.wikipedia.org/wiki/National_Security_Agency).
70
70
- Atskiros naršyklės kortelės (ang. *tabs*) arba langai (ang. *windows*) paprastai nežino vienas apie kitą. Kartais jie žino, pavyzdžiui, kai vienas langas naudoja JavaScript, kad atidarytų kitą langą. Tačiau net ir tokiu atveju JavaScript iš vieno puslapio negali pasiekti kito puslapio, jei jie yra iš skirtingų svetainių (iš skirtingų domenų, protokolų ar prievadų).
71
71
72
-
Tai vadinama "Same Origin Policy". Norint tai apeiti, *abu tinklalapiai* turi susitarti dėl keitimosi duomenimis ir juose turi būti specialus JavaScript kodas, kuris tai tvarko. Apie tai kalbėsime vienoje iš pamokų.
72
+
Tai vadinama “Same Origin Policy”. Norint tai apeiti, *abu tinklalapiai* turi susitarti dėl keitimosi duomenimis ir juose turi būti specialus JavaScript kodas, kuris tai tvarko. Apie tai kalbėsime vienoje iš pamokų.
73
73
74
74
Šis ribojimas yra, vėlgi, dėl vartotojų saugmo. Tinklapis `http://anysite.com`, kurį vartotojas atidarė, neturėtų pasiekti kitos naršyklės kortelės su URL `http://gmail.com` ir vogti informaciją.
75
75
- JavaScript gali lengvai komunikuoti internetu su serveriu, iš kurio atėjo tinklalapis. Bet tinklalapio galimybės gauti duomenis iš kitų tinklapių/duomenų yra kiek sudėtingesnės. Nors ir įmanoma, tai reikalauja išreikštinio susitarimo (per HTTP antraštes) iš nuotolinio serverio pusės. Vėlgi, dėl saugumo priežasčių.
@@ -88,7 +88,7 @@ JavaScript turi bent *tris* nuostabius dalykus:
88
88
```
89
89
JavaScript yra vienintelė naršyklės technologija, kuri turi šiuos tris dalykus.
90
90
91
-
Štai kuo ypatinga JavaScript. Tai yra viena labiausiai išplitusių technologijų, kalbant apie naršyklės sąsajos (ang. "interface") kūrimą.
91
+
Štai kuo ypatinga JavaScript. Tai yra viena labiausiai išplitusių technologijų, kalbant apie naršyklės sąsajos (ang. *interface*) kūrimą.
92
92
93
93
Tačiau su JavaScript galima rašyti serverines, mobilias programas (ang. *applications*) ir pan.
94
94
@@ -104,7 +104,7 @@ Modernūs įrankiai atlieka konvertaciją labai greitai, tad programuotojai gali
104
104
105
105
Tokių kalbų pavyzdžiai:
106
106
107
-
-[CoffeeScript](http://coffeescript.org/) yra "syntactic sugar" JavaScript. Trumpesnė sintaksė, su kuria galima rašyti aiškesnį ir konkretesnį kodą. Tai dažniausiai patinka Ruby programuotojams.
107
+
-[CoffeeScript](http://coffeescript.org/) yra “syntactic sugar” JavaScript. Trumpesnė sintaksė, su kuria galima rašyti aiškesnį ir konkretesnį kodą. Tai dažniausiai patinka Ruby programuotojams.
108
108
-[TypeScript](http://www.typescriptlang.org/) pagrindinis tikslas yra įvesti statinį tipizavimą. Tai palengvina sudėtingų sistemų programavimą. Sukurtas Microsoft.
109
109
-[Flow](http://flow.org/) taip pat turi statinį tipizavimą, bet kiek kitokiu būdu. Sukurtas Facebook.
110
110
-[Dart](https://www.dartlang.org/) yra atskira kalba, kuri turi savo paties variklį, kuris veikia ne naršyklėse (pvz. mobiliose aplikacijose), bet taip pat gali būti transpiliuotas į Javascriptą. Sukurtas Google.
Copy file name to clipboardExpand all lines: 1-js/01-getting-started/2-manuals-specifications/article.md
+5-5Lines changed: 5 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -9,21 +9,21 @@
9
9
10
10
Tačiau iš šios specifikacijos mokytis iš pat pradžių yra gana sunku, nes informacija labai formali. Jeigu reikia pačios tiksliausios informacijos apie kalbą, specifikacija yra puikus šaltinis. Tačiau vargu, ar to prireiks kiekvieną dieną.
11
11
12
-
Kasmet yra išleidžiama nauja specifikacijos versija. Tarp šitų išleidimų, galima rasti juodraštį (ang. "draft") čia <https://tc39.es/ecma262/>.
12
+
Kasmet yra išleidžiama nauja specifikacijos versija. Tarp šitų išleidimų, galima rasti juodraštį (ang. *draft*) čia <https://tc39.es/ecma262/>.
13
13
14
-
Galite perskaityti apie naujausias savybes, įskaitant ir tas, kurios yra "beveik standartas" (dar vadinamas "stage 3") galima rasti <https://github.com/tc39/proposals>.
14
+
Galite perskaityti apie naujausias savybes, įskaitant ir tas, kurios yra “beveik standartas” (dar vadinamas “stage 3”) galima rasti <https://github.com/tc39/proposals>.
15
15
16
-
Taip pat, jeigu norite programuoti naršyklei, tam yra kita specifikacija, kurią gali rasti [antroje](info:browser-environment)pamokų dalyje.
16
+
Taip pat, jeigu norite programuoti naršyklei, tam yra kita specifikacija, kurią gali rasti [antroje](info:browser-environment)vadovėlio dalyje.
17
17
18
18
## Vadovai
19
19
-**MDN (Mozilla) JavaScript Reference** yra pagrindinis vadovas su pavyzdžiais ir kita informacija. Jame galima gauti išsamios informacijos apie atskiras kalbos funkcijas, metodus ir pan.
20
20
21
21
Vadovą galima rasti <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference>.
22
22
23
23
24
-
Tačiau, dažniausiai geriausia tiesiog ieškoti informacijos internete. Verta tiesiog naudoti "MDN [apibrėžimas]" užklausoje, pavyzdžiui <https://google.com/search?q=MDN+parseInt> tam, kad rastumėte informacijos apie `parseInt` funkciją.
24
+
Tačiau, dažniausiai geriausia tiesiog ieškoti informacijos internete. Verta tiesiog naudoti “MDN [terminas]” užklausoje, pavyzdžiui <https://google.com/search?q=MDN+parseInt> tam, kad rastumėte informacijos apie `parseInt` funkciją.
25
25
26
-
## Suderinamumo (ang. "compatibility") lentelės
26
+
## Suderinamumo lentelės
27
27
28
28
JavaScript yra nuolatos tobulinama kalba, todėl naujos savybės atsiranda reguliariai.
Copy file name to clipboardExpand all lines: 1-js/01-getting-started/3-code-editors/article.md
+9-9Lines changed: 9 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -1,36 +1,36 @@
1
1
# Kodo redaktoriai
2
2
3
-
Kodo redaktorius (ang. "code editor") yra vieta, kur programuotojai praleidžia didžiają dalį laiko.
3
+
Kodo redaktorius (ang. *code editor*) yra vieta, kur programuotojai praleidžia didžiają dalį laiko.
4
4
5
-
Yra dviejų tipų redaktoriai: integruotos kūrimo aplinkos (ang. IDE) ir lengvasvoriai (ang. "lightweight") redaktoriai. Dauguma žmonių naudoja po viena abiejų tipų redaktorių.
5
+
Yra dviejų tipų redaktoriai: integruotos kūrimo aplinkos (ang. *IDE*) ir lengvasvoriai (ang. *lightweight*) redaktoriai. Dauguma žmonių naudoja po viena abiejų tipų redaktorių.
6
6
7
7
## Integruota Kūrimo Aplinka (IDE)
8
-
Terminas [IDE](https://en.wikipedia.org/wiki/Integrated_development_environment) reiškia galingą redaktorių su daug galimybių, kurios dažnai veikia "visam projektui". Kaip ir sufleruoja pavadinimas - tai ne tik eredaktorius, bet tuo pačiu ir visa "programavimo aplinka".
8
+
Terminas [IDE](https://en.wikipedia.org/wiki/Integrated_development_environment) reiškia galingą redaktorių su daug galimybių, kurios dažnai veikia “visam projektui”. Kaip ir sufleruoja pavadinimas - tai ne tik eredaktorius, bet tuo pačiu ir visa "programavimo aplinka".
9
9
10
-
IDE įkelia visą projektą (kuris gali turėti daug failų), leidžia naviguoti tarp failų, suteikia automatinį užbaigimą (ang. "autocompletion"), kuris galioja visam projektui (ne tik vienam failui) ir integruoja versijos valdymo (ang "version control") sistemą (pvz. [git](https://git-scm.com/)), testavimo aplinką ir kitus "projekto lygio" dalykus.
10
+
IDE įkelia visą projektą (kuris gali turėti daug failų), leidžia naviguoti tarp failų, suteikia automatinį užbaigimą (ang. *autocompletion*), kuris galioja visam projektui (ne tik vienam failui) ir integruoja versijos valdymo (ang. *version control*) sistemą (pvz. [git](https://git-scm.com)), testavimo aplinką ir kitus "projekto lygio" dalykus.
11
11
12
12
Jeigu dar neišsirinkote IDE, pamąstykite apie šiuos:
13
13
14
14
-[Visual Studio Code](https://code.visualstudio.com/) (daugiaplatformis, nemokamas).
Windows taip pat yra "Visual Studio", tačiau nereiktų jo maišyt su "Visual Studio Code". "Visual Studio" yra mokamas ir tik Windows skirtas redaktorius, kuris puikiai derinasi su .NET platforma. Jis taip pat tinka ir JavaScript. yra ir nemokama versija [Visual Studio Community](https://www.visualstudio.com/vs/community/).
17
+
Windows taip pat yra “Visual Studio”, tačiau nereiktų jo maišyt su “Visual Studio Code”. “Visual Studio” yra mokamas ir tik Windows skirtas redaktorius, kuris puikiai derinasi su .NET platforma. Jis taip pat tinka ir JavaScript. yra ir nemokama versija [Visual Studio Community](https://www.visualstudio.com/vs/community/).
18
18
19
19
Dauguma IDE yra mokami, tačiau turi bandomąjį periodą. Jų kaina dažniausiai pakenčiama, atsižvelgiant į programuotojų atlyginimus, tad tiesiog išsirink tokį, kuris atrodo patogiausiai.
20
20
21
21
## Lengvasvoriai redaktoriai
22
22
23
-
"Lightweight editors" yra ne tokie galingi kaip IDE, bet jie yra greiti, elegantiški ir paprasti.
23
+
Lengvasvoriai redaktoriai (ang. *lightweight editors*) yra ne tokie galingi kaip IDE, bet jie yra greiti, elegantiški ir paprasti.
24
24
25
25
Jie dažniausiai naudojami greitai atidaryti ir pakoreguoti failą.
26
26
27
-
Pagrindinis skirtumas tarp "ligthweight editor" ir "IDE" yra tas, kad IDE veikia projekto lygmeniu, todėl pačioj pradžioj jis pakrauna daug daugiau informacijos, analizuoja projekto struktūrą, nei to reikia, ir pan. Lengvascoris redaktorius yra daug greitesnis, jeigu mums tereikia pakeisti vieną failą.
27
+
Pagrindinis skirtumas tarp “ligthweight editor” ir “IDE” yra tas, kad IDE veikia projekto lygmeniu, todėl pačioj pradžioj jis pakrauna daug daugiau informacijos, analizuoja projekto struktūrą, nei to reikia, ir pan. Lengvascoris redaktorius yra daug greitesnis, jeigu mums tereikia pakeisti vieną failą.
28
28
29
-
Praktikoj, lengvasvoriai redaktoriai turi daug papildymų (ang. "plugin"), įskaitant direktorijos lygmeny sintaksės analizatorius, automatinio užbaigimo papildymus, tad šitoj vietoj nėra griežtų ribų tarp lengvasvorio redaktoriaus ir IDE.
29
+
Praktikoj, lengvasvoriai redaktoriai turi daug papildymų (ang. *plugins*), įskaitant direktorijos lygmeny sintaksės analizatorius, automatinio užbaigimo papildymus, tad šitoj vietoj nėra griežtų ribų tarp lengvasvorio redaktoriaus ir IDE.
30
30
31
31
Šie pasirinkimai verti dėmesio:
32
32
33
-
-[Sublime Text](http://www.sublimetext.com) (daugiaplatformis, laikinai nemokamas, ang. "shareware").
33
+
-[Sublime Text](http://www.sublimetext.com) (daugiaplatformis, laikinai nemokamas).
0 commit comments