Domanda

sto imparando sulla creazione di oggetti in JavaScript. Quando faccio questo ...

var Person = {
   name: "John Doe", 
   sayHi: function() {
   alert("Hi");
   }
};

so che sto creando un'istanza di una classe di una persona, ma io non so come (o se) posso riutilizzare quella classe per creare un'altra istanza. Quali caratteristiche ha OOP JavaScript ha? Ha hanno le stesse caratteristiche OO degli altri linguaggi come Java o Ruby? Qualcuno può spiegare come JavaScript fa OOP?

È stato utile?

Soluzione

Nel tuo esempio si sta creando non un'istanza di una classe Persona. Si sta creando una variabile denominata 'persona', che contiene un oggetto anonimo.

Per creare una classe di tipo persona con cui vorresti fare:

function Person() {
   this.name = "John Doe", 
   this.sayHi =  function() {
   alert("Hi");
   }
}

var somebody = new Person();

In caso contrario, penso che la tua domanda è troppo ampia e complessa. Ci sono molti articoli javascript e tutorial sul web (e libri nelle librerie). Go e li studio e, se non si capisce qualcosa di specifico poi postare qui.

Altri suggerimenti

JavaScript non usa classi. Esso utilizza la prototipazione. Ci sono diversi modi di creare nuovi oggetti.

Si potrebbe fare:

var john = Object.create(Person);

In alternativa è possibile utilizzare la parola chiave new:

function Person() = {
   this.name = "John Doe", 
   this.sayHi = function() {
     alert("Hi");
   }
};

var john = new Person();

Per ulteriori informazioni leggere:

Crockford ha alcune spiegazioni buoni qui etc.

Scopri l'articolo di Oran Looney su questo: http://oranlooney.com/classes-and -Oggetti-javascript /

ha diversi buoni articoli Javascript.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top