Supponiamo che io a creare una fabbrica di oggetto in questo modo:l'efficienza dello storage funzione anonima
var newObj=function(x){
var obj=[]
obj.x=x
obj.add=function(n){
return this.x+n
}
return obj
}
Ora supponiamo che io creo centinaia di istanze di questo oggetto:
var obj1=newObj(1)
var obj2=newObj(2)
...
Does ogni obj1, obj2, .. archiviare la propria copia di obj.add o contengono tutti un riferimento a una singola istanza di obj.add archiviata in memoria?
Grazie!
Sto creando un'applicazione nodo con un numero molto grande di oggetti molto grandi utilizzando la tecnica di fabbrica mostrata sopra. Mi è venuto in mente che probabilmente sto sprecando un sacco di spazio di archiviazione. Sembra che dovrei iniziare a riempire la proprietà del prototipo. – gloo
Avresti potuto scoprire facilmente confrontando 'obj1.add === obj2.add'. –
Vedere http://stackoverflow.com/questions/17308446/how-big-are-javascript-function-objects – user123444555621