In JavaScript, functiile pot fi utilizate si pentru a crea un fel de "clase", care pot fi baza unui Obiect (definit cu "new").
O astfel de clasa in JavaScript se creaza folosind cuvantul: function , cu aceasta sintaxa:
numeClasa = function(){ // codul clasei numeClasa }
numeClasa = function(){ var variabilaPrivata = 'valoare_privata'; var functiePrivata = function(/* parametrii */) { // cod JS } this.variabilaPublica = 'valoare_publica'; this.functiePublica = function(/* parametrii */) { // cod ... } }Apoi, codul care creaza un obiect ce foloseste aceasta clasa poate fi asa:
myObject = new numeClasa();
Dupa ce "clasa" e creata si e setat un obiect cu ea, se pot accesa /utiliza functiile si proprietatile (variable) definite in clasa, utilizand numele obiectului.
Sintaxa:myObject = new numeClasa(); // seteaza valoare la o proprietate publica myObject.variabilaPublica = 'valoare'; // apeleaza o functie publica din clasa var method = myObject.functiePublica(/* parametrii */);
// se creaza clasa getSum = function() { var nr1 = 0; // privat this.nr2 = 0; // public // functie privata, ce va seta valoarea lui nr1 var setNr1 = function(nr) { nr1 = nr; } // functie publica // returneaza suma lui nr1 si nr2 (utilizand "this." deoarece a fost definit cu acest cuvant) this.sum = function(nr) { setNr1(nr); // apeleaza functia privata setNr1() care seteaza valoarea lui nr1 return nr1 + this.nr2; } } // seteaza un obiect cu clasa getSum var obSum = new getSum(); // acceseaza proprietatea publica document.write('<p>'+ obSum.nr2 +'</p>'); // 0 // seteaza o alta valoare pt nr2, si preia suma obSum.nr2 = 6; var sum64 = obSum.sum(4); document.write('<p>'+ sum64 +'</p>'); // 10 // test pt. a vedea daca nr1 (privat) poate fi accesat document.write('<p>'+ obSum.nr1 +'</p>'); // undefined
numeClasa = function(parametru) { // codul clasei numeClasa } myObject = new numeClasa('valoare');Iata un alt exemplu, cu o clasa care are un parametru.
// creaza clasa getSum cu un parametru getSum = function(nr) { var nr1 = 0; this.nr2 = 0; // seteaza valoarea proprietatii nr1 var setNr1 = function(nr) { nr1 = nr; } // returneaza suma lui nr1 (privat) si nr2 (folosind "this." fiindca a fost definit cu acest cuvant) this.sum = function() { return nr1 + this.nr2; } setNr1(nr); // apeleaza functia setNr1() cand se creaza obiectul cu aceasta clasa } // seteaza un obiect cu clasa getSum var obSum = new getSum(3); document.write('<p>'+ obSum.nr2 +'</p>'); // 0 // seteaza o alta valoare pt nr2, si preia suma obSum.nr2 = 5; var sum35 = obSum.sum(); document.write('<p>'+ sum35 +'</p>'); // 8
<object type="application/x-shockwave-flash" data="file.swf" width="500" height="250"> <param name="src" value="file.swf" /> Browser-ul dv. nu suporta SWF. </object>
input:focus { background-color: #88fe88; }
var jsnstr = '{"url": "http://coursesweb.net/", "title": "Web Development Courses"}'; var obj = JSON.parse(jsnstr); alert(obj.url);
if (file_put_contents("file.txt", "content")) echo "Fisierul a fost creat"; else echo "Fisierul nu poate fi creat";
I planted the third tree. - Am plantat al treilea pom.
Yo planté el tercero árbol. - Am plantat al treilea pom.