Eventuali duplicati:
What's the best way to define a class in javascriptCome si scrive una lezione in Javascript?
Come si scrive una classe in JavaScript? È possibile?
Eventuali duplicati:
What's the best way to define a class in javascriptCome si scrive una lezione in Javascript?
Come si scrive una classe in JavaScript? È possibile?
Javascript utilizza l'OO basato su prototipo per impostazione predefinita.
Tuttavia, se si utilizza la libreria di prototipi, ad esempio, è possibile utilizzare Class.create().
http://prototypejs.org/api/class/create
Sarebbe permetterà di creare (o ereditano) di una classe, dopo che si sarebbe istanziare le sue istanze con il nuovo.
Altre biblioteche hanno probabilmente strutture simili.
Alcuni fanno. jQuery non lo fa, in quanto prevede che sarà più probabile che affronti le raccolte jQuery piuttosto che con le classi. – Nosredna
function Foo() {
// constructor
}
Foo.prototype.bar = function() {
// bar function within foo
}
Penso che tu abbia una "funzione" extra all'inizio di 'bar'. :-) –
Sì. Inoltre, non dimenticare di menzionare che devi usare il nuovo Foo(). – alamar
whoops corretto, non sono così abituato a scrivere javascript oo. –
È "un po '" possibile. Prototype ha una guida integrata per scrivere classi in JS. Dai uno sguardo a this thorough description su come puoi farlo.
var namedClass = Class.create({
initialize: function(name) {
this.name = name;
}
getName: function() {
return this.name;
}
});
var instance = new namedClass('Foobar');
JavaScript si basa su oggetti, non sulle classi. Utilizza l'ereditarietà prototipale, non l'ereditarietà classica.
JavaScript è malleabile e facilmente estensibile. Di conseguenza, ci sono molte librerie che aggiungono l'ereditarietà classica a JavaScript. Tuttavia, usandoli rischi di scrivere codice che è difficile da seguire per la maggior parte dei programmatori JavaScript.
Se si utilizza una libreria come prototipo o jQuery è molto più semplice ma il modo legacy è farlo.
function MyClass(){
}
MyClass.prototype.aFunction(){
}
var instance = new MyClass();
instance.aFunction();
Si può leggere di più su di esso qui http://www.komodomedia.com/blog/2008/09/javascript-classes-for-n00bs/
Beh, JavaScript è un linguaggio basato sui prototipi, non deve classi, tuttavia è possibile eredità classica, e altri modelli di comportamento di riutilizzo attraverso oggetto clonazione e prototipazione.
articoli consigliati:
ACK. "javascript" è stato modificato in "Javascript" anziché in "JavaScript". – Nosredna
Preferisco jAvAsCrIpt. È il modo corretto –