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
<table><tr> <th>Title 1</th> <th>Title 2</th> </tr></table>
.some_class { line-height: 150%; }
document.getElementById("id_button").onclick = function(){ window.open("http://coursesweb.net/"); }
$ar_dir = scandir("dir_name"); var_export($ar_dir);
He will sleep there. - El va dormi acolo.
Él dormirá allí. - El va dormi acolo.