Mi è venuto un dubbio...
ma se in una pagina richiamassi due file js esterni all'interno dei quali vi sono nomi di variabili e/o funzioni uguali cosa succede ?
nulla o vanno in confilitto ???
Grazie![]()
Mi è venuto un dubbio...
ma se in una pagina richiamassi due file js esterni all'interno dei quali vi sono nomi di variabili e/o funzioni uguali cosa succede ?
nulla o vanno in confilitto ???
Grazie![]()
Di solito, l'ultimo caricato vince
Video Corso JavaScript ES2015 - http://corso-javascript.it
Bisogna capire se tali variabili risiedono all'interno dello stesso scope ("spazio dei nomi" o "area di visibilità delle variabili"). In tal caso avrai indubbiamente dei conflitti.
Come ti è stato indicato, in genere i file caricati per ultimi avranno priorità rispetto ai precedenti.
Se in due file diversi viene dichiarata una variabile/funzione con lo stesso nome, la quale sta ad esempio sul livello globale, l'ultima dichiarazione andrà a sovrascrivere la precedente, ridefinendo quindi la variabile/funzione stessa.
Giusto per fare una panoramica:
Per ovviare a problemi del genere si possono attuare vari accorgimenti. In particolare, quando si tratta di grossi progetti e nei casi di utilizzo di diverse librerie JavaScript all'interno dello stesso documento, le quali utilizzano lo stesso nome-variabile per identificare l'oggetto/funzione principale, è bene capire se nomi-variabie specifici possono creare dei conflitti.
Nel caso di utilizzo di librerie JavaScript popolari, di uso comune, di solito gli sviluppatori mettono a disposizione dei metodi identificabili generalmente col termine "noconflict", con cui si risolvono tali problemi.
Per progetti propri, seppur di portata minima, è comunque bene non lasciare variabili vaganti fuori controllo a livello globale ma cercare sempre, dove possibile, di limitarne l'utilizzo all'interno delle proprie funzioni, oppure, nel caso di dichiarazioni di funzioni, racchiudere opportunamente tali funzioni in oggetti e utilizzare altre tecniche simili riguardo l'architettura di programmazione ad oggetti... senza entrare nel dettaglio.
Chiaramente la tua domanda è abbastanza generica e il tuo dubbio resta tale finché non decidi di approfondire la questione, quindi verificare se ci siano effettivi problemi di conflitto e capire come eventualmente sarà meglio intervenire.