Intrebare documentatie clase in Javascript
Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
-
andras
- Mesaje: 430
Intrebare documentatie clase in Javascript
Salut,
In prezent ma documentez pe partea de clase in JS si mi se pare interesanta urmatoarea forma (exemplu generic):
Cod: Selectaţi tot
namespace.buttonbar.Clasamea = new Class({
Extends:View,
type:'',
module:'',
submodule:'',
buttons:['OK', 'previous', 'next', 'exit'],
layout: {}
etc etc
});
si multe altele. Unde gasesc o documentatie completa pentru aceasta forma si acesti parametri predefiniti? Am cautat in multe locuri dar n-am gasit decit referiri partiale. Multumesc.
MarPlo
Mesaje: 4343
Salut
Dupa parerea mea, codul pe care l-ai prezentat nu e o forma generica, ci e o parte dintr-un script JS mai complex.
Exista 2 forme de a folosi sistemul de clase in javascript:
1. Prin utilizarea unei functi ca si corp al clasei:
Cod: Selectaţi tot
function numeClasa(name){
var prop = 'Nume: ';
this.name = name;
this.metoda = function(){
return prop + this.name;
}
}
//creare instanta de obiect la clasa
var obj = new numeClasa('marplo');
alert(obj.metoda());
- Despre aceasta metoda gasesti un tutorial la adresa:
https://coursesweb.net/javascript/create ... javascript
2. Prin instructiunea "class". O tehnologie aparuta nou in javascript, care este inca in faza de implementare in noile versiuni de browsere:
Cod: Selectaţi tot
class numeClasa {
constructor(name) {
this.name = name;
}
mettoda() {
alert('Nume: '+ this.name);
}
}
var obj = new numeClasa('marplo');
obj.mettoda();
- Se gasesc cateva tutoriale despre aceasta forma noua aparuta in JavaScript. Vezi ce gasesti pe internet la cautare: "
javascript 6 classes ".
andras
Mesaje: 430
Am gasit un manual aici:
Exploring ES6 pe care il ofera free in versiunea online.
Am vazut ca si JavaScript tinde spre o uniformizare cu alte limbaje (PHP, Java) in ceea ce priveste OOP.
Intrebare aditionala: se recomanda aceasta forma daca inca este in curs de implementare? N-ar fi mai bine de mers pe o varianta deja maturizata?
MarPlo
Mesaje: 4343
Ca opinie personala, depinde ce vrei sa faci.
Daca vrei sa faci un proiect de viitor, pe care in timp sa il dezvolti, de exemplu un joc, sau un CMS pentru Node.js, se recomanda noua tehnologie ES6. Cred ca in decurs de un an va fi functionala in urmatoarele versiuni de browser. In plus sunt aplicatii precum Babel ( babeljs.io ) care convertesc codul din ES6 in ES5.
Dar daca vrei sa faci un script pentru site, sau jocuri simple, si deja ai exprienta cu sintaxa actuala, e bine sa faci cu ceea ce cunosti deja. Important e sa fii multumit de rezultatul obtinut.
Subiecte similare
-
Adaugare apostrof la value in input cu JavaScript
JavaScript - jQuery - Ajax
Primul mesaj
Am un cod JavaScript care adaugă un câmp input pentru utilizator:
var user = O'Conner, John ;
b.innerHTML += <input type='hidden' value=' +...
Ultimul mesaj
Poți să înlocuiesti caracterul cu entitatea lui HTML.
Astfel, pentru apostrof (') poate fi ’ sau ‘
var user = O'Conner,...
-
Lungime obiect JSON in JavaScript
JavaScript - jQuery - Ajax
Primul mesaj
Am convertit un tabel din baze de date într-un obiect JSON.
Aceasta este, în esență, un array bidimensional, fiecare înregistrare fiind pe cate un...
Ultimul mesaj
Poti sa folosesti Object.keys pentru a obține lista de chei din obiect ca un array, apoi obții cu 'length' lungimea din el:...
-
Produsul Dot a doua array in Javascript
JavaScript - jQuery - Ajax
Primul mesaj
Cum se poate implementa eficient o metoda dotProduct (pentru a obține produsul Dot din două array) fără a importa alte biblioteci Javascript?
De...
Ultimul mesaj
Iată o metodă.
Se foloseste funcția map() pentru a crea un nou array cu rezultate înmulțite ale fiecărui index, apoi se aplica funcția reduce()...
-
Problemă cu 'this' în function.call() în JavaScript
JavaScript - jQuery - Ajax
Primul mesaj
De ce function.call() se comportă diferit cu ' this ' cand nu e adaugat ca argument, în JavaScript?
Rezultatul cu 'this' în test.call() este același...
Ultimul mesaj
Functia call() necesita primul argument, care e pentru obiectul 'this', daca nu ai nevoie de el, adauga null .
test.call(null, ...args);
In...
-
Afisare cu animatie continut adaugat cu JavaScript
JavaScript - jQuery - Ajax
Primul mesaj
Ideea pe care vreau sa o fac e că la clic pe un buton, conținutul vechi e înlocuit cu nou conținut HTML adăugat cu javascript.
Vreau ca noul...
Ultimul mesaj
Pentru a declanșa o tranziție CSS, modifica starea CSS după ce ai introdus codul HTML. Poți face asta schimbând o clasă (la container sau la un...
-
Sare peste index-uri in bucla for…of in Javascript
JavaScript - jQuery - Ajax
Primul mesaj
In vechea bucla for() in JavaScript, ca sa sar peste index-uri faceam asa:
for (let i=0; i<bla.length; i+=2){
//...
}
Astfel, pentru...
Ultimul mesaj
Poti sa adaugi o conditie if() in bucla for…of, ca in urmatorul exemplu (indexul initial e pastrat).
for (const of bla.entries()) {
if (!(i %...