Se allego a una pagina .html uno script .js il peso dello script influenzerebbe la pagina html anche se le condizioni if non lo fanno eseguire? Nel senso lo script viene caricato totalmente nella pagina influenzando il peso oppure in caso gli if determinano che lo script non deve essere eseguito è come se lo script non ci fosse?
Dipende cosa intendi per peso.
Se intendi il tempo di scaricamento (download) del file, gli if non influenzano nulla.
Se intendi il tempo di esecuzione, ovviamente il tempo è molto influenzato. Se gli if non vengono eseguiti è quasi come se lo script non ci fosse (quasi perché l'if comunque devi eseguirlo).
In parole più semplici: ho paura che caricando questo script mi rallenti la pagina anche le volte in cui non deve essere eseguito. In questo caso non è che la rallenta molto dato che è un piccolo script, ma dopo ci saranno altre condizioni e quindi diventerà più pesante, non vorrei che anche quando queste condizioni non si verificano lo script causa pesantezza alla pagina. Forse mi hai già risposto, comunque ho precisato meglio il problema per sicurezza
A meno che la pagina non venga visualizzata su un dispositivo di fascia estremamente bassa o del secolo scorso, fintanto che il codice non è mostruosamente gigante (o scritto male) non inciderà significativamente sul caricamento della pagina. Però stiamo discutendo senza avere nulla di concreto, e così ti si possono fornire solo risposte estremamente generiche. Se indichi l'indirizzo di una pagina di esempio possiamo avere un'idea più precisa della questione e fornire risposte più utili.
Lo script è questo http://sitodiprova00001111.altervista.org/Script.js per ora non è pesante, ma immaginando che ci sia una funzione ogni mese, lo script potrebbe rendere le pagine più lente? Oppure il peso è solo della parte dello script che viene eseguita in base alle condizioni if?
Trascurando il fatto che l'animazione della neve che scende sulla pagina è sconsigliabile da includere in quanto distrae dal contenuto e rende difficoltosa la lettura, nel tuo script non devi preoccuparti di quanti if o condizioni includi. Piuttosto viene generato ogni secondo un oggetto FioccoDiNeve, che non verrà mai distrutto (finché non viene chiusa la pagina). Viene solo rimosso dall'albero del documento l'elemento p, ma l'oggetto rimane comunque in memoria assieme all'istanza di FioccoDiNeve. Probabilmente non è comunque sufficiente per causare problemi o rallentamenti percettibili nemmeno dopo alcune ore di esecuzione, se non su dispositivi con risorse estremamente limitate.
In JavaScript non c'è modo per eliminare esplicitamente un oggetto. Un oggetto viene effettivamente eliminato dal garbage collector quando non c'è più necessità di averlo in memoria, ossia quando ogni suo riferimento viene a mancare. Nel caso dello script precedente il problema è che l'intervallo non viene cancellato, in questo modo la funzione viene sempre richiamata ed il garbage collector non ha modo di eliminare la funzione o gli oggetti da essa raggiungibili.