Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130

    prototype di se stessa e risparmio RAM?

    ciao, qui: http://forum.html.it/forum/showthrea...ight=prototype ad un certo punto (quando discute gioie e dolori di prototype) l'autore ;-) suggerisce che: "... tanto vale, a questo punto, sfruttare questa caratteristica direttamente per tutta la classe, al fine di non dover rivalutare ne l'assegnazione della stessa ne alcuna parte del suo codice".

    Ma se faccio cosi:

    codice:
    function Obj() {
       this.foo1 = function(){};
       this.foo2 = function(){};
    };
    
    // prototype di se stessa
    Obj.prototype = new Obj();
    
    var o1 = new Obj();
    alert(o1.hasOwnProperty("foo1"));
    alert(o1.hasOwnProperty("foo2"));
    i due alert sparano true il che non e' bene (per i motivi di spreco ram che che si voleva evitare con Obj.prototype = new Obj()).

    cioe' i metodi vengono copiati in ogni oggetto istanziato. il che vanifica il vantaggio che si dovrebbe ottenere con prototype. ce qualche cosa che mi sfugge o l'autore ;-) ha cannato!??

    grazie

  2. #2
    Avresti dovuto leggere meglio
    Originariamente inviato da Andr3a
    mi son riletto il pistolozzo scritto da me medesimo ... allora, nel frattempo ho giocato molto con eredità multiple, superCostruttori, altro ancora ... molto lo riscriverei spiegando meglio pro e contro, ma sul discorso dell'intero costruttore in prototype mi spiace, ma avevo scritto un vero sfrondone.

    Non ha senso, per le closure, mettere tutto in prototype, poichè i metodi privilegiati, quelli scritti come this.metodo = function(){} all'interno del costruttore, verranno comunque dichiarati per ogni istanza.

    Scusate la precedente e sciagurata spiegazione, spero di aver recuperato un pò.
    Forse si, si era fatto una canna

  3. #3
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    bene bene ... se comincio a vedere gli errori vuol dire che sto grabbando il problema! ... eh vabbe non ho letto fino in fondo pero' dai ... fino a dove ero arrivato l'errore non era stato ripreso comunque.

    grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.