Documente Academic
Documente Profesional
Documente Cultură

backbone
jQuery
svg cu 2 cercuriofficeCSS
js
php
Net
prof
wp
div
JS1 NewBoston
Video1
Inserarea unui script in interiorul codului HTML se realizeaza prin inserarea unui
tag <script>
<script type=”text/javascript”>
document.write(“salutare”);
</script>
Pentru a putea insera in script informatii care nu trebuie afisate vom putea folosi
comentarii. Exista 2 tipuri:
<script type=”text/javascript”>
</script>
<script type=”text/javascript”>
/*
Aceasta este un
*/
</script>
<script type=”text/javascript”>
document.write(“Bine ai venit”);
</script>
Video 3 Variabile
<script type=”text/javascript”>
var x=23;
document.write(x);
</script>
document.write(“Bine ai venit”);
Pana acum am vorbit de doua tipuri de date: numeric si text. Nu vom intalni altele
prea des.
document.write(23);
document.write(“douazeci si trei”);
Insa daca dorim sa afisam un text de forma “Sorina a spus “Am douazeci si trei de
carioci” ”
Faptul ca apar ghilimelele de mai multe ori in acelasi text e prea mult pentru
JavaScript, nu va putea intelege unde incepe si unde se termina textul . Deci vom
inlocui ghilimelele din interior cu asa-zise caractere escape “.
<script type=”text/javascript”>
var name=”Bucky”;
</script>
Se va afisa Bucky is my name care este concatenarea dintre variabila name si textul
“is my name”.
<script type=”text/javascript”>
var name=”Bucky”;
</script>
De ex:
<script type=”text/javascript”>
var name1=”Bucky”;
</script>
<script type=”text/javascript”>
var name1=”Bucky”;
video 6 functii
<script type=”text/javascript”>
function funky()
alert(“Ouch!!!”);
funky();
</script>
<body>
<script type=”text/javascript”>
function funky()
alert(“Ouch!!!”);
</script>
<form>
</body>
<script type=”text/javascript”>
function meatball(x)
meatball(“bacon”);
meatball(“natalie portman”);
</script>
I love bacon
<script type=”text/javascript”>
compara(“portocalele”,”merele”);
compara(“laptopurile”,”tabletele”);
compara(“nucile”,”strugurii”);
</script>
Se va afisa:
Daca ar fi alte preferinte s-a putea schimba preferinta prin schimbarea ordinii
valorilor in momentul apelarii functiei:
compara(“merele”,”portocalele”);
compara(“tabletele”,”laptopurile”);
compara(“strugurii”,”nucile”);
Se va afisa :
Instructiunea return este folosita pentru a scoate (returna) valori din functie
astfel incat sa poata fi folosite mai departe pe parcursul rularii scriptului.
Astfel apelarea unei functii devina similara cu folosirea unei variabile.
Ex:
<script type=”text/javascript”>
function toeasy()
return “gametime”;
document.write( toeasy() );
</script>
Va afisa: gametime
<script type=”text/javascript”>
function addNumbers(a,b){
var c=a+b;
return c;
}
document.write(addNumbers(3,6) );
</script>
<script type=”text/javascript”>
function doFirst()
document.write(“I’m first<br>”);
function doSecond()
document.write(“2222222!!!!”);
function start(){
doFirst();
doSecond();
start();
</script>
In functia start() au fost folosite cele doua functii create anterior, doFirst() si
doSecond(). Apelul lor nu difera cu nimic de apelul altor functii native
JavaScript.
Uneori exista riscul sa cream functii care sa se apeleze reciproc si care intra
intr-un ciclul infinit de apelari. Trebuie evitat acest lucru altfel browser-ul ne
va intreba daca dorim sa oprim rularea script-ului daca nu cumva o va opri el
singur.
De ex:
<script type=”text/javascript”>
function doFirst()
document.writeln(“I’m first”);
doSecond();
function doSecond()
document.write(“I’m second”);
doFirst();
doFirst();
</script>
Totusi, desi e de evitat aceasta situatie, vom spune ca aceasta situatie uneori
este intentionat creata. Ea este numita recursivitate (reciproca) si se foloseste
intr-un mod controlat in anumite tehnici de programare.
Video 11 Variabile globale si locale
Pe de alta parte daca e declarata in interiorul unei functii sau chiar a unui bloc
de instructiuni ea nu mai poate fi folosita in exteriorul blocului.
E ca o sursa de lumina care poate lumina diverse cutii imprastiate intr-o camera
dar o data ce este pusa intr-o cutie nu mai poate lumina nici o cutie din jurul ei.
<script type=”text/javascript”>
function spit()
document.write(girl);
spit();
document.write(girl);
</script>
Va afisa: KelseyKelsey
In acest exemplu variabila girl este accesibila si din interiorul functiei spit()
in momentul apelului dar si din exteriorul ei prin intermediul instructiunii
document.write(girl). In acest caz valoarea variabilei girl, “Kelsey”, va fi
afisata de 2 ori.
Situatia se schimba atunci cand variabila girl este declarata doar in interiorul
functiei. In acel moment ea nu mai poate fi folosita in afara functiei de exemplu
de instructiunea document write. De aceea in exemplul urmator valoarea variabilei
girl, “Kelsey”, va fi afisata doar o data, din interiorul functiei spit();
<script type=”text/javascript”>
function spit()
{
document.write(girl);
spit();
document.write(girl);
</script>
Si atunci cum e mai bine sa folosim variabilele? Ca variabile locale sau globale?
Ar parea ca e mai bine sa le folosim pe toate ca fiind globale.
Daca am dori sa folosim toate variabilele ca globale atunci s-ar aduna o multime de
variabile la inceputul scriptului si nu doar ca nu am sti ce reprezinta fiecare ci
ar ocupa multa memorie ingreunand executia scriptului. De aceea se apeleaza mai
curand la variabile locale care exista doar pe durata executiei functiei si nu
ocupa memorie inutil. In plus, atunci cand sunt declarate intr-o functie, putem sti
ce face in acea functie si nu ne incurca in restul scriptului. Mai mult, pentru ca
nu sunt vizibile si in alte functii, variabilele locale pot fi folosite cu acelasi
nume in diferite functii, fiind de fapt variabile diferite existente doar pe
parcursul executiei acelor functii.
<script type=”text/javascript”>
var apples=4+76;
document.write(apples);
</script>
scadere:
apples= 76 – 4;
inmultire
apples = 76 * 4;
impartire:
apples = 76 / 4;
var apples = 56 % 3;
document.write(apples);
Se va afisa 2 care este restul impartirii. Nu va afisa catul impartirii care este
18 sau 18,66.. doar restul si acest lucru este important pentru ca in acest mod
putem afla anumite proprietati ale numerelor. De exemplu care este ultima cifra a
unui numar Number= 256? Aflam restul impartirii la 10.
document.write(number % 10);
Un alt operator pe care il vom folosi des este cel de incrementare ++.
variabila_inc = variabila_inc + 1;
<script type=”text/javascript”>
var variabila_inc=7;
variabila_inc = variabila_inc + 1;
document.write(variabila_inc);
</script>
Va afisa: 8
<script type=”text/javascript”>
var variabila_inc=7;
variabila_inc++;
document.write(variabila_inc);
</script>
variabila_add = variabila_add + 5;
Ex:
<script type=”text/javascript”>
bucky += 54;
document.write(bucky);
</script>
<script type=”text/javascript”>
bucky += 67;
bucky -= 32;
bucky *=4;
bucky /= 5;
document.write(bucky);
</script>
if(comparatie){
cod de executat
Astfel:
<script type=”text/javascript”>
document.write(“It worked”);
</script>
In cazul in care cele doua variabile contin aceleasi valori se va executa codul
dintre acolade, in acest caz s-ar afisa “It worked”. Adica expresia (apples==
hotdogs) este adevarata si atunci instructiunea if decide ca sa execute codul
dintre acolade.
In mod similar se poate folosi negarea adica in loc de “==” vom folosi “!=” care
inseamna “nu este egal”.
Daca vom compara apples cu hotdogs folosind operatorul “not egal”, ” != ” atunci
expresia (apples != hotdogs) este falsa deoarece ambele variabile au aceeasi
valoare.
<script type=”text/javascript”>
if(apples==hotdogs){
document.write(“It worked”);
</script>
<script type=”text/javascript”>
if(apples<hotdogs){
document.write(“It worked”);
</script>
Se va afisa: “It worked” pentru ca variabila apples are o valoare mai mica decat
hotdogs si atunci expresia (apples < hotdogs) e adevarata. Daca am fi folosit
expresia (apples > hotdogs) nu s-ar fi afisat nimic pentru ca ar fi fost falsa.
In mod similar pot fi folosit operatorii <= (mai mic sau egal) sau >= (mai mare sau
egal)
Cand cele doua valori comparate corespund operatorului atunci rezultatul expresiei
este adevarat iar instructiunea if decide sa execute codul dintre acolade.
Video 15
{ bloc de instructiuni}
if(expresie)
bloc de instructiuni 1
else
bloc de instructiuni 2
In acest mod daca (expresie) este adevarata se executa bloc de instructiuni 1 iar
daca e falsa se executa bloc de instructiuni 2. In orice situatie se va executa un
bloc de instructiuni.
if(2==2)
else
else
Sa folosim variabile:
if(blue == red)
else
Se va afisa: I love strawberries pentru ca (blue==red) e falsa dar daca vom avea
valorile
var firstName=”bucky”;
if(firstName == “bucky”){
if(lastName==”roberts”){
In acest caz daca variabila firstName are valoarea “bucky” atunci se executa
instructiunea if din interior. Daca si la aceasta conditia lastName==”Roberts” este
adevarata atunci se va afisa textul “welcome bucky roberta!!!!”. Prin urmare exista
doua conditii de verificat pentru a se executa blocul de instructiuni. Asta
inseamna nesting (nest inseamna cuibar) adica avem o instructiune if in alta
instructiune if.
var firstName=”bucky”;
if(firstName == “bucky”){
if(lastName==”roberts”){
}else{
}
Putem avea si situatia cand nu dorim sa executam vreo instructiune in caz ca
expresia logica e adevarata
if(firstName == “bucky”){
if(lastName==”roberts”){
}else{
In acest caz daca ambele conditii sunt adevarate nu se executa nimic doar daca
prima e adevarata iar a doua falsa se afiseaza “welcome bucky someone!!!”
In loc sa punem mai multe instructiuni if unele in altele, doar pentru a realiza o
conditionare mai stricta, putem crea conditii compuse din mai multe expresii logice
Putem avea si o conditie care verifica doar daca una din conditii e adevarata.
Acest lucru se realizeaza cu operatorul logic “sau ||”. Daca macar una din
expresiile componente este adevarata atunci intreaga expresie devine adevarata.
document.write(“bacon”);
Se va afisa: bacon
document.write(“bacon”);
}
Se va afisa: bacon
Video 18 Switch
switch(girl){
case “natalie”:
break;
case “ashley”:
break;
default:
Va afisa: you must like garden state, pentru ca variabila girl are valoarea natalie
si coincide cu valoarea de verificat pentru prima optiune.
In cazul in care variabila girl are valoarea emily atunci nici o optiune nu se
verifica si se ajunge la optiunea default caz in care se va afisa “this is the
default”.
<script>
</script>
Este corect dar am putea face lucrul asta folosind doar o singura data
instructiunea document.write insa apeland la o instructiune repetitiva care sa
specifica ca instructiunea document.write() va aparea de 10 ori.
pentru i de la 0 la 10
<script>
for(x=0;x<10;x++)
</script>
ceva de afisat
ceva de afisat
ceva de afisat
ceva de afisat
ceva de afisat
Putem specifica chiar sa afiseze de 1000 de ori sau de un numar oarecare de ori
daca pentru conditia de oprire se specifica acel numar x<numar.
var numar=10000;
for(x=0;x<numar;x++)
Are forma
while(conditie de oprire)
bloc de instructiuni
Atat timp cat conditie de ciclare este adevarata se executa bloc de instructiuni
In cazul instructiunii for se stia de unde se porneste x=0, se stia unde se ajunge
x<numar, si in plus se stiau pasii cu care crestea x pana la valoarea finala cand
ciclarea se oprea. In cazul lui while nu avem de verificat decat conditia de
oprire.
Aceasta poate fi de orice fel
iesim cu bicicleta
sau
Aalegem bile dintr-o cutie care contine bile albe si negre. Ne oprim cand gasim o
bila neagra.
extrage bila
x=0;
while(x<10)
x++;
Se va afisa
0 ceva de afisat
1 ceva de afisat
2 ceva de afisat
….
9 ceva de afisat
Are forma
do
bloc de instructiuni
while(conditie de ciclare)
Ex:
do
document.write(“afiseaza ceva”);
while(1==0);
In acest caz se va afisa: afiseaza ceva chiar daca valoarea conditiei (1==0) este
falsa.
Video 22
Aproape toate obiectele accepta evenimente. Butoanele in mod special sunt folosite
pentru preluarea evenimentelor prin intermediul handler-ului onclick. Adica onclick
este proprietatea prin care putem asocia o actiune momentului in care a fost apasat
butonul de mouse.
Vor aparea doua casete text. De obicei, atunci cand avem mai multe actiuni de
realizat la apasarea unui buton, in loc de a le insera la evenimentul onClick=””
vom crea o functie care sa le contina si vom apela acea functie in momentul
apasarii butonului.
<script>
function actiune()
alert(‘ Hello’);
</script>
</body>
</body>
video 23 Obiecte
Toate elementele vizibile intr-o pagina web sunt obiecte. In general un obiect este
continut de un alt obiect. De exemplu toate imaginile dintr-o pagina web pot fi
accesate prin intermediul obiectului document: document.images care returneaza
toate imaginile sub forma unui vector. Se observa ca pentru a avea acces la
obiectele imagine trebuie sa folosim operatorul punct(.).
Acest lucru este valabil pentru orice element fie ca este tag fie ca este declarat
de utilizator cum e un numar sau un text.
<script type=”text/javascript”>
document.write(text.length);
</script>
Asa cum in pagina web pot exista obiecte specifice limbajului HTML tot asa putem
crea propriile noastre obiecte. De exemplu dorim sa cream obiecte asociate unor
persoane. Pentru aceasta vom crea modelul de completare cu datele unei persoane
prin intermediul unei functii. Daca dorim ca acea persoana sa primeasca un nume si
o varsta vom crea o functie cu 2 parametri nume, varsta.
this.nume = nume;
this.varsta = varsta;
Se observa operatorul new care intr-o prima faza genereaza un obiect necompletat
iar mai apoi functia persoana adauga proprietatile nume si varsta.
<html>
<head>
<title></title>
<script>
this.nume = nume;
this.varsta = varsta;
}
</script>
</head>
<body>
<script type=”text/javascript”>
document.write(Bucky.varsta);
</script>
</body>
</html>
function nimic()
{}
ceva.valoare=20;
Acum obiectul “ceva” contine proprietatea valoare avand valoarea numerica 20.
document.write(ceva.valoare);
Asa ar arata pagina:
<html>
<head>
<title></title>
<script>
function nimic()
{}
</script>
</head>
<body>
<script type=”text/javascript”>
ceva.valoare=20;
document.write(ceva.valoare);
</script>
</body>
</html>
Atat functia persoana() cat si functia nimic() se numesc functii constructor pentru
ca prin ele sunt construite obiectele. Diferenta intre persoana() si nimic() este
ca prin intermediul functiei persoana() se dau si proprietati obiectului in timp ce
functia nimic() nu ofera nici o proprietate, acestea putand fi adaugate mai tarziu.
Cel mai adesea cand avem de creat doar un obiect sau doua vom folosi initializarea
obiectelor chiar la crearea lor. E mai simpla decat crearea obiectelor folosind
functiile constructor. Dar in acelasi timp daca avem de facut 500 de obiecte vom
folosi metoda cu functia constructor putand folosi o instructiune de ciclare
Initializarea unui obiect este de forma
Ex:
tom = {name:”Tom”,age:”25″};
Seamana oarecum cu declararea unei reguli CSS mai putin semnul “=” si virgula
dintre proprietati.
<html>
<head>
<title></title>
<script>
tom = {name:”Tom”,type:”cat”,age:4};
jerry= {name:”Jerry”,type:”mouse”,age:1};
</script>
</head>
<body>
<script type=”text/javascript”>
</script>
</body>
</html>
Video 27 Adaugarea metodelor pentru obiecte
this.nume=nume;
this.varsta=varsta;
Daca pana acum am lucrat doar cu proprietati ale obiectelor, de acum ne vom ocupa
si de partea de functionalitate a lor.
function aniRamasi()
return nrAniPensie;
Dar cum facem legatura intre obiectul victor si functia aniRamasi() pentru ca
momentan el nu stie ce fel de functie este aniRamasi(). Din punctul lui de vedere
este o functie oarecare care nu are legatura cu el.
this.nume=nume;
this.varsta=varsta;
this.aniRamasiPensie = aniRamasi;
aniRamasiPensie care este noua metoda a unui obiect persoana si e folosita pentru
calculul anilor pana la pensie
aniRamasi care este chiar functia creata de noi dar se observa ca nici pentru
aceasta nici pentru numele metodei nu folosim in aceasta faza parantezele rotunde.
Adica javascript nu accepta asa ceva:
this.aniRamasiPensie() = aniRamasi;
si nici
this.aniRamasiPensie= aniRamasi();
<html><head>
<script type=”text/javascript”>
function aniRamasi()
return nrAniPensie;
this.nume=nume;
this.varsta=varsta;
this.aniRamasiPensie = aniRamasi;
}
</script>
</head>
<body>
<script type=”text/javascript”>
document.writeln(victor.varsta);
document.writeln(victor.aniRamasiPensie());
document.writeln(bucky.aniRamasiPensie());
</script>
Se va afisa
23 42 33
ce reprezinta varsta lui Victor, cat mai are pana la pensie, si cat mai aire Bucky
pana la pensie.
Daca am dori sa tinem evidenta a 1000 de persoane ar trebui sa cream 1000 de linii
de cod de forma:
De fiecare data cand dorim sa accesam o persoana vom folosi numarul pozitiei pe
care se afla fiecare persoana: Adrian e pe pozitia 0, Victor pe 1 si tot asa.
document.writeln(persoane[0]);
document.writeln(persoane[1]);
document.writeln(persoane[4]);
Se va afisa:
document.writeln(persoane[5]);
va afisa:
undefined
<html><head>
<script type=”text/javascript”>
</script>
</head>
<body>
<script type=”text/javascript”>
document.writeln(persoane[0]);
document.writeln(persoane[1]);
document.writeln(persoane[4]);
document.writeln(persoane[5]);
</script>
Afiseaza:
Acum vom crea un vector doar specificand dimensiunea acestuia urmand ca apoi sa
introducem si informatiile
<script>
things[0]=”tricou”;
things[1]=”camasa”;
things[2]=”geaca”;
</script>
O a treia metoda este de a crea un vector vid si mai apoi adaugam elementele din
mers.
<script>
stuff[0]=”bacon”;
</script>
<script>
</script>
Mai intai vom transforma vectorul intr-un sir de caractere (un text)
<script>
document.write(sir1);
</script>
Va afisa:
mere,cirese,gutui,prune
Daca am dori ca numele fructelor sa fie despartite prin alte simboluri, de exemplu
minus(cratima):
document.write(sir);
Va afisa:
mere-cirese-gutui-prune
<script>
fructe.pop();
document.write(fructe[3]);
</script>
Se va afisa:
prune
undefined
Mai intai este afisat ultimul element din vector fructe[3] care are valoarea
“prune” iar mai apoi acesta este eliminat din vector pe pozitia 3 ne mai ramanand
nimic.
<script>
fructe.sort();
document.write(sir1);
</script>
Va afisa:
banane,cirese,gutui,mere,portocale,prune
deoarece:
(“banane”,”cirese”,”gutui”,”mere”,”portocale”,”prune”)
<script>
var maxDim = 5;
for(i=0;i<maxDim;i++)
elem[elem.length]=prompt(“introdu o valoare”,”3″);
</script>
Astfel am creat un vector de dimensiune maxDim (5 elemente)
elem.length este lungimea vectorului si este chiar pozitia de dupa ultimul element
din vector si in felul acesta spunem catre javascript sa insereze un element chiar
dupa ultimul element din vector.
<script>
for(i=0;i<elem.length;i++)
document.write(elem[i]+” “);
</script>
3 3 3 3 3
Pana acum am folosit numere pentru indexul vectorului, direct (elem[4]) ori prin
intermediul unei variabile indice i (elem[i]). Vom vedea insa cum se pot folosi
sirurile de caractere pentru a desemna pozitiile elementelor din vector. Acest tip
de vector se numeste asociativ pentru ca se asociaza un nume(sir de caractere) cu
valoarea din vector de pe o anumita pozitie.
<script>
var gust = new Array();
gust[“strugurii”]=”dulci”;
gust[“lamaile”]=”acre”;
gust[“grapefruit”]=”amare”;
</script>
Se va afisa:
<script>
document.write(Math.Pi+”<br>” ); // numarul pi
</script>
Video 37: Obiectul Date
<body>
var cont=1;
function doSomething()
document.getElementById(“afisare”).innerHTML=cont++;
</script>
<div id=”afisare”></div>
setInterval(“doSomething()”,2000);
</script>
</script>
<script type=”text/javascript”>
function printTime()
document.getElementById(“timp”).innerHTML=de_afisat;
</script>
<div id=”timp”></div>
setInterval(“printTime()”,1000);
</script>
</body>
Pe langa asta, in fiecare element de forma forms[i], toate elementele input sunt la
randul lor inserate intr-un vector astfel incat vom putea afla cate elemente sunt
in formular accesandu-i lungimea forms[i].length .
<body>
<form name=”formularContact”>
</form>
var x = document.forms[0].length;
</script>
</body>
In concluzie putem folosi vectorii ca sa accesam fiecare element din formular sau
putem accesa aceleasi elemente prin numele acestora dat de proprietatea name. Dar
nu numai formularele pot fi accesate in acest mod. La fel se poate lucra cu
imaginile
sau link-urile
<head>
<script>
function validator(){
else
{
</script>
</head>
<body>
<form name=”formularValid”>
</form>
</body>
Copyright profiasi
Theme By SiteOrigin