Diciamo che ho il seguente JSON con oggetti personali.Allegare il prototipo all'oggetto JavaScript
[
{
"name": "Alice",
"age": 28,
},
{
"name": "Bob",
"age": 33
}
]
Se analizzo questo, otterrò un array con due oggetti JavaScript. Diciamo, voglio dotare questi due oggetti con un metodo chiamato introdurre, che fa qualcosa di simile
function introduce() {
return "My name is " + this.name + " and I am " + this.age + " years old.";
}
Ora, ho potuto iterare i miei due persone e chiamare
person.constructor.prototype.introduce = introduce
Tuttavia, questo esporterà la funzione di introduzione in TUTTI gli oggetti JavaScript, non solo i due sopra.
Potrei anche collegare manualmente la funzione a ciascun oggetto, ma se voglio estendere il mio personale con funzioni aggiuntive, dovrò ripetere tutte le persone nuovamente.
Idealmente, mi piacerebbe un prototipo che io possa adattare con il metodo introduce
e quindi collegare questo prototipo a tutte le mie persone, quindi se in seguito estenderò il prototipo, il mio personale otterrà anche altre funzioni.
La domanda è: come?
basta fare 'person.prototype.introduce = introduce' e sbarazzarsi della parte' constructor'. –
perché non creare una classe 'Person', analizzare json per rendere' Person'. Ogni volta aggiungi una funzione al prototipo 'Person'. – mshsayem
@BrianGlaz: Penso che 'person' sia il suo riferimento all'oggetto stesso, quindi' person.prototype' non esisterà. –