mi sono imbattuto in questo post http://www.webmasterworld.com/javascript/3066162.htm su come in javascript quando si istanzia un oggetto letterale se ha metodi definiti in esso quindi ogni volta che viene istanziata anche i suoi metodi vengono copiati. quindi se hai un sacco di istanze del letterale dell'oggetto, i metodi copiati inizieranno a sommarsi in memoria.notazione letterale dell'oggetto contro prototipo di velocità e memoria
come mai lui/lei afferma che l'utilizzo del prototipo per rendere i propri metodi è più efficiente perché i metodi non vengono copiati per ogni istanza dell'oggetto del costruttore.
è vero? perché avevo l'impressione che il prototipo permettesse di aggiungere proprietà/metodi anche dopo la creazione dell'istanza dell'oggetto piuttosto che all'interno dell'oggetto al momento della sua creazione.
Voglio solo notare che la creazione di un metodo dall'interno del costruttore non crea in realtà una nuova copia dell'intero metodo in memoria: un nuovo riferimento viene semplicemente apportato al metodo esistente.Tuttavia, i prototipi tendono ancora ad essere più veloci perché tutto questo è gestito dal motore JavaScript, e quindi può fare molte ottimizzazioni sulla strada, che diventano rapidamente evidenti quando istanziate decine di migliaia di oggetti. Google ha ottimizzato lo schifo della catena di prototipi del V8, che è in parte il motivo per cui è così dannatamente veloce. –
@musicfreak che è bello sapere, grazie amico. – zero