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
Pažvelkime kuo ypatinga JavaScript kalba, ką mes galime su ja padaryti ir kokios kitos technologijos gali būti naudojamos kartu.
5
-
=======
6
4
Let's see what's so special about JavaScript, what we can achieve with it, and what other technologies play well with it.
7
-
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
8
5
9
6
## Kas yra JavaScript?
10
7
11
-
<<<<<<< HEAD
12
8
Iš pat pradžių *JavaScript* buvo sukurta tam, kad *"padarytų tinklalapius gyvus"*.
13
-
=======
14
-
*JavaScript* was initially created to "make web pages alive".
15
-
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
16
9
17
10
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.
18
11
@@ -32,19 +25,11 @@ Naršyklės turi savo vidinį variklį, kuris kartais vadinamas "JavaScript virt
32
25
33
26
Skirtingi varikliai turi skirtingus slapyvardžius (ang. "nicknames"). Pavyzdžiui:
34
27
35
-
<<<<<<< HEAD
36
-
-[V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- Chrome ir Opera.
28
+
-[V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- Chrome, Opera ir Edge.
- Egzistuoja kiti slapyvardžiai, tokie kaip "Trident", "Chakra" skirtingoms IE versijom, "ChakraCore" Microsoft Edge naršklėje, "Nitro" ir "SquirellFish" Safari ir t.t.
30
+
-...Egzistuoja kiti slapyvardžiai, tokie kaip "Chakra" skirtingoms IE versijom, "JavaScriptCore", "Nitro", "SquirellFish" skirta Safari ir t.t.
39
31
40
-
Š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 ir Opera naršklėse.
41
-
=======
42
-
-[V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- in Chrome, Opera and Edge.
43
-
-[SpiderMonkey](https://en.wikipedia.org/wiki/SpiderMonkey) -- in Firefox.
44
-
- ...There are other codenames like "Chakra" for IE, "JavaScriptCore", "Nitro" and "SquirrelFish" for Safari, etc.
45
-
46
-
The terms above are good to remember because they are used in developer articles on the internet. We'll use them too. For instance, if "a feature X is supported by V8", then it probably works in Chrome, Opera and Edge.
47
-
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
32
+
Š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.
48
33
49
34
```smart header="Kaip veikia varikliai?"
50
35
@@ -73,24 +58,16 @@ Pavyzdžiui, JavaScript naršyklėje gali:
73
58
- Gauti ir nustatyti slapukus (ang. "cookies"), užduoti klausimus vartotojo ir parodyti žinutes.
74
59
- Išsaugoti duomenis kliento pusėje (ang. "local storage").
75
60
76
-
## Ko NEGALI PADARYTI JavaScript naršyklėje?
61
+
## Ko NEGALI padaryti JavaScript naršyklėje?
77
62
78
-
<<<<<<< HEAD
79
63
JavaScript galimybės naryklėje yra ribojamos dėl vartotojų saugumo. Tikslas - neleisti tinklalapiams pasiekti privačius duomenis arba žaloti vartotojo duomenis.
80
-
=======
81
-
JavaScript's abilities in the browser are limited for the sake of a user's safety. The aim is to prevent an evil webpage from accessing private information or harming the user's data.
82
-
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
83
64
84
65
Ribojimų pavyzdžiai:
85
-
- JavaScript tinklalapyje negali skaityti/rašyti failus esančius kietajame diske, juos kopijuoti arba vykdyti programas. JavaScript neturi tiesioginės prieigos prie operacinės sistemos funkcijų.
86
-
87
-
<<<<<<< HEAD
66
+
- JavaScript tinklalapyje negali skaityti/rašyti failus esančius kietajame diske, juos kopijuoti arba vykdyti programas. JavaScript neturi tiesioginės prieigos prie operacinės sistemos funkcijų.
67
+
88
68
Modernios naršklės leidžia dirbti su failais, bet prieiga ribojama ir tai leidžiama tik jeigu vartotojas įvykdo kažką konkretaus. Pavyzdžiui, perkelia failą į naršyklę arba pažymi failą naudodamas `<input>` žymą.
89
-
=======
90
-
- JavaScript on a webpage may not read/write arbitrary files on the hard disk, copy them or execute programs. It has no direct access to OS functions.
91
-
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
92
69
93
-
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
+
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).
94
71
- Atskiros naršyklės kortelės (ang. "tabs") dažniausiai nežino viena apie kitą. Tačiau kartais viena kortelė naudoja JavaScript tam, kad atidarytų kitą kortelę, bet netgi tokiu atveju, JavaScript vienoje kortelėje negali pasiekti kitos, jeigu jie ateina iš skirtingų tinklalapių (skirtingas domenas, protokolas arba portas).
95
72
Tai vadinama "Same Origin Policy". Tam, kad tai apeiti, *abudu tinklalapiai* turi sutikti apsikeisti duomenimis ir turėti specialų JavaScript kodą, kuris tai tvarkytų. Mes apie tai kalbėsime vienoje iš pamokų.
96
73
Šis ribojimas yra, vėlgi, dėl vartotojų saugmo. Tinklapis `http://anysite.com`, kurį vartotojas atidarė, neturėtų pasiekti kitos naršklės kortelės su URL `http://gmail.com` ir vogti informaciją.
@@ -105,15 +82,9 @@ Yra būdų komunikuoti su kamera/mikrofonu ir kitais įrenginiais, bet tai reika
105
82
JavaScript turi bent *tris* nuostabius dalykus:
106
83
107
84
```compare
108
-
<<<<<<< HEAD
109
85
+ Pilna integracija su HTML/CSS
110
86
+ Paprastus dalykus padaryti yra nesudėtinga
111
-
+ Palaikoma visose populiariausiose naršyklėse
112
-
=======
113
-
+ Full integration with HTML/CSS.
114
-
+ Simple things are done simply.
115
-
+ Supported by all major browsers and enabled by default.
116
-
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
87
+
+ Palaikoma visose pagrindinėse naršyklėse ir įjungta pagal numatytuosius nustatymus.
117
88
```
118
89
JavaScript yra vienintelė naršyklės technologija, kuri turi šiuos tris dalykus.
119
90
@@ -133,30 +104,17 @@ Modernūs įrankiai atlieka perrašymą labai greitai, tad programuotojai gali p
133
104
134
105
Tokių kalbų pavyzdžiai:
135
106
136
-
<<<<<<< HEAD
137
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.
138
108
-[TypeScript](http://www.typescriptlang.org/) pagrindinis tikslas yra įvesti statinį tipizavimą. Tai palengvina sudėtingų sistemų programavimą. Sukurtas Microsoft.
139
109
-[Flow](http://flow.org/) taip pat turi statinį tipizavimą, bet kiek kitokiu būdu. Sukurtas Facebook.
140
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.
141
-
=======
142
-
-[CoffeeScript](http://coffeescript.org/) is a "syntactic sugar" for JavaScript. It introduces shorter syntax, allowing us to write clearer and more precise code. Usually, Ruby devs like it.
143
-
-[TypeScript](http://www.typescriptlang.org/) is concentrated on adding "strict data typing" to simplify the development and support of complex systems. It is developed by Microsoft.
144
-
-[Flow](http://flow.org/) also adds data typing, but in a different way. Developed by Facebook.
145
-
-[Dart](https://www.dartlang.org/) is a standalone language that has its own engine that runs in non-browser environments (like mobile apps), but also can be transpiled to JavaScript. Developed by Google.
146
-
-[Brython](https://brython.info/) is a Python transpiler to JavaScript that enables the writing of applications in pure Python without JavaScript.
147
-
-[Kotlin](https://kotlinlang.org/docs/reference/js-overview.html) is a modern, concise and safe programming language that can target the browser or Node.
148
-
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
111
+
-[Brython](https://brython.info/) yra Python transpileris į JavaScript, leidžiantis rašyti programas grynuoju Python be JavaScript.
112
+
-[Kotlin](https://kotlinlang.org/docs/reference/js-overview.html) yra moderni, glausta ir saugi programavimo kalba, kuri gali būti skirta naršyklei arba Node
149
113
150
114
Yra ir daugiau pavyzdžių. Tačiau, netgi jeigu mes naudojame kažkurią iš transpiliuojamų kalbų, suprasti JavaScript yra ne mažiau svarbu.
151
115
152
116
## Santrauka
153
117
154
-
<<<<<<< HEAD
155
-
- JavaScript iš pat pradžių buvo sukurtas kaip kalba, veikianti naršyklėje, bet dabar turi ir daugiau aplinkų, kuriose gali būti vykdoma.
118
+
- JavaScript iš pat pradžių buvo sukurtas kaip kalba, veikianti tik naršyklėje, bet dabar turi ir daugiau aplinkų, kuriose gali būti vykdoma.
156
119
- Šią dieną JavaScript yra unikali tuo, kad tai labiausiai paplitusi kalba naršyklei, turinti pilną integraciją su HTML/CSS.
157
120
- Yra daug kalbų, kurios gali būti konvertuojamos į JavaScript ir turi papildomų funkcijų. Rekomenduojame į jas bent jau trumpai pažvelgti po to, kaip išmoksite JavaScript.
158
-
=======
159
-
- JavaScript was initially created as a browser-only language, but it is now used in many other environments as well.
160
-
- Today, JavaScript has a unique position as the most widely-adopted browser language, fully integrated with HTML/CSS.
161
-
- There are many languages that get "transpiled" to JavaScript and provide certain features. It is recommended to take a look at them, at least briefly, after mastering JavaScript.
0 commit comments