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
<form action="script.php" method="post"> ... </form>
#id {
background-color: #bbfeda;
box-shadow: 11px 11px 5px #7878da;
}var fruits = ["mar", "cireasa", "banana"]; fruits.shift(); alert(fruits.length); // 2
if(extension_loaded("PDO") === true) echo "PDO este valabil."Can I listen to music? - Pot asculta muzica?
Me gustan las frutas dulces. - Imi plac fructele dulci.