Documente Academic
Documente Profesional
Documente Cultură
Sabinburaga Esenta de Javascript 150405124051 Conversion Gate01
Sabinburaga Esenta de Javascript 150405124051 Conversion Gate01
Sabin Buraga
ECMAScript
dinamic
variabilele i pot schimba tipul
pe parcursul rulrii programului
navigator Web
navigator Web
Cuvinte rezervate:
caracteristici: sintaxa
caracteristici: sintaxa
Number
String
secvene de caractere Unicode
Boolean
expresii ce se pot evalua ca fiind true/false
Object
aproape totul e considerat ca fiind obiect,
inclusiv funciile
Null
nseamn nicio valoare
Undefined
are semnificaia nicio valoare asignat nc
Metode utile
pentru procesarea irurilor de caractere:
s.charAt(pos) s.charCodeAt(pos) s.concat(s1, ..)
s.indexOf(s1, start)
s.match(regexp) s.replace(search, replace)
s.slice(start, end) s.split(separator, limit)
s.substring(start, end)
s.toLowerCase() s.toUpperCase()
etc.
caracteristici: variabile
de evitat aa ceva!
caracteristici: variabile
Pentru numere: + * / %
De asignare: += = *= /= %=
Incrementare i decrementare: ++
Concatenare de iruri: "Java" + "Script" "JavaScript"
Logici: && || ?:
caracteristici: operatori
caracteristici: operatori
caracteristici: operatori
caracteristici: operatori
caracteristici: control
caracteristici: control
Perechi numevaloare
caracteristici: obiecte
Perechi numevaloare
caracteristici: obiecte
Perechi numevaloare
numele este desemnat de un ir de caractere
(i.e., expresie de tip String)
valoarea poate fi de orice tip,
inclusiv null sau undefined
caracteristici: obiecte
caracteristici: obiecte
caracteristici: obiecte
Obiecte predefinite:
Global
Function
String
Boolean
Math
Object
Array
RegExp
Number
Date
caracteristici: obiecte
caracteristici: obiecte
ob.nume = "Tux";
var nume = ob.nume;
caracteristici: obiecte
ob.nume = "Tux";
var nume = ob.nume;
echivalent cu:
ob["nume"] = "Tux";
var nume = ob["nume"];
caracteristici: obiecte
Declarare + asignare:
var pinguin = {
nume: "Tux",
proprietati: {
culoare: "verde",
marime: 17
}
}
caracteristici: obiecte
Declarare + asignare:
var pinguin = {
nume: "Tux",
proprietati: {
culoare: "verde",
marime: 17
}
}
accesare:
pinguin.proprietati.marime 17
pinguin["proprietati"]["culoare"] verde
caracteristici: obiecte
caracteristici: obiecte
caracteristici: tablouri
caracteristici: tablouri
caracteristici: tablouri
caracteristici: tablouri
caracteristici: funcii
caracteristici: funcii
caracteristici: funcii
caracteristici: funcii
caracteristici: funcii
caracteristici: funcii
suma += arguments[iter];
funcie closure
}
return suma / arguments.length;
};
caracteristici: funcii
http://json.org/
json
json
{
'nume': 'Tux',
'stoc': 33,
'model': [ 'candid', 'furios', 'vesel' ]
}
datele pot fi evaluate
direct n JavaScript
json
instrumente
www.codefellows.org/blog/a-list-of-foundational-javascript-tools
<body>
<script type="text/javascript">
alert ("Salut, lume!");
</script>
</body>
<script type="text/javascript"
src="//cdn.jsdelivr.net/jquery/2.1.3/jquery.min.js">
</script>
HTML
HtmlElement
HTML
BodyElement
HTML
ParagraphElement
Text
HTML
DivElement
HTML
ImageElement
<!DOCTYPE html>
<html>
<body>
<p>Tehnologii Web</p>
<div>
<img src="web.png"/>
</div>
</body>
</html>
Dojo: dojotoolkit.org
jQuery: jquery.com
Prototype: prototypejs.org
Rico: http://sourceforge.net/projects/openrico/
Script.aculo.us: script.aculo.us
uzual, recurg la
<canvas> din HTML5
D3 Processing.js
sau la SVG
Snap.svg svg.js Bonsai
selection.datavisualization.ch
Biblioteci pentru
vizualizarea datelor
jQuery
scop principal:
oferirea unui framework JavaScript
pentru manipularea facil a documentului HTML
pe baza selectorilor CSS nivelul 3
http://jquery.com/
jQuery
jQuery
documentaii i tutoriale:
http://learn.jquery.com/
http://try.jquery.com/
http://jqfundamentals.com/
jQuery
filosofie iniial:
focalizarea asupra interaciunii dintre codul JavaScript
i construciile HTML
aproape fiecare operaie urmeaz ablonul:
gsete ceva + execut ceva cu ceea ce-ai gsit
jQuery
jQuery
selector CSS
metod
(funcionalitate)
jQuery
http://docs.jquery.com/Selectors
jQuery
jQuery
selectori magici:
poziie :first :last
antet :header
vizibilitate :hidden :visible
animaie :animated
formulare :input :text :password :radio :submit
coninut :contains ()
jQuery
jQuery
jQuery
jQuery
jQuery
jQuery
jQuery
jQuery
jQuery
jQuery
jQuery
jQuery
jQuery
jQuery
cod-surs disponibil la
http://jsfiddle.net/busaco/4d2tmc6b/
vezi http://www.flickr.com/services/feeds/docs/photos_public/
interactiune
web:Uploads",
ajax studiu de caz
"title"
: "Recent
"link"
: "http://www.flickr.com/photos/",
"modified"
: "2014-12-06T13:33:07Z",
"generator"
: "http://www.flickr.com/",
"items"
:[{
"title"
: "...",
"link"
: "http://www.flickr.com/photos/.../4204222/",
"media" : { "m": "https://farm.staticflickr.com/...jpg" },
"date_taken": "2012-05-20T17:23:43-08:00",
"description": "...",
"published" : "2012-05-26T13:49:08Z",
"author"
: "...",
"author_id" : "...",
"tags"
: "iasi romania informatica FII ..."
}]
cod-surs disponibil la
http://jsfiddle.net/busaco/r8L2kp30/
depanare cu Firebug
sau cu instrumentele
oferite de browser
resurse
S. Buraga, Dezvoltarea aplicaiilor Web la nivel de client,
FII, UAIC, 2015: www.info.uaic.ro/~busaco/teach/courses/cliw/
S. Buraga, Front-end Web Developer Resources, 2014
http://tinyurl.com/cliw-devel
JSbooks the best free JavaScript resources
http://jsbooks.revolunet.com/
DevDocs
http://devdocs.io/javascript/
JavaScript
Mult succes!
imagini din filmul Perfume: The Story of a Murderer www.imdb.com/title/tt0396171/