Newsgroup: it.comp.lang.javascript
Titolo: File esterni

Il problema è questo.
Ho un file .js che contiene una funzione.
Questa funzione dovrebbe utilizzare un array e tale array è definito in un
altro file .js.
Ossia ho un file .js in cui c'è il solo array con tutti i suoi elementi;
arr = new Array();
arr[0]=56;
arr[1]=32;
arr[2]=87;
...
Come faccio per utilizzare tale array?
Esiste una qualche funzione di inclusione testuale?
Ciao
Marco

 Esiste una qualche funzione di inclusione testuale?
C'è un altro thread (non troppo vecchio) partito da una mia domanda che
tratta di inclusione di file js; in pratica mi hanno detto (sempre che non
abbia capito male) che l'unico modo per farlo è quello di includere nel file
della pagina (html ad esempio) due tag <SCRIPT> uno per richiamare ogni
file.
Ciao,
--Gabriele

 file.
Scusa ma non capisco come mai sei così scettico???
Il tuo caso non si era risolto positivamente? La tua pag html non funzionava
correttamente dopo aver provato quello che ti hanno consigliato?!? Quindi
:-)
Il tuo scetticismo AL LIMITE sarebbe giustificato se ora ti dicessi che
tutto ti funzionerebbe anche se invertissi l'ordine dei file:
<script src="filefunzione.js"></script>
<script src="filearray.js"></script>

> Scusa ma non capisco come mai sei così scettico???
No. Perché dici che sono scettico? forse mi ha fraiteso. Visto che avevo
appurato che la soluzione alla quale eravamo arrivato nel precedende thread
aveva portato ad una soluzione ,( quella del doppio tag script ), la stavo
"rivendendo" anche a Marco.
Ciao


Ma non c'è nessun problema...
Però dicendo "mi hanno detto (sempre che non abbia capito male)" sembra che
tutto sommato ci si creda poco e che non sia stato verificato...mi sbaglierò
Cosa ne dici invece dell'altra mia affermazione non quotata?!?
[Remember]


 tutto ti funzionerebbe anche se invertissi l'ordine dei file:
'nzomma....
Bisogna vedere in che istante la funzione cerca di accedere all'array
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
Per rispondere: togli il PUNTO e metti un .

 <script src="filearray.js"></script>
No questo lo avevo notato prima di aprire il psot precedente anche nel mio
caso specifico... ma pare funzioni tutto indipendentemente dall'ordine di
inclusione..
Non ho approfondito... bisognerebbe fare qualche prova per vedere se
nell'interazione fra i due file ci possono essere problemi (sul un post di
Riccardo, sempre su questo thread, Lui ipotizza "Bisogna vedere in che
istante la funzione cerca di accedere all'array").
Ad occhio e croce ho l'impressione (ma è solo una mia impressione) è che il
browser (nel mio caso Mozilla) si carichi tutti gli script senza fare troppi
ragionamenti di precedenze.
Tra l'altro mi pare che se in un unico file ho due function, dove la prima
chiama la seconda (come nell'esempio sotto riportato) non sia importante
l'ordine in cui le definisco.
Esempio:
function pluto () {
//fai qualcosa
var a = pippo(parametro);
//fai qualcosa
}
function pippo parametro() {
//fai qualcosa
return (parametro);
//fai qualcosa
}
Che mi dite in proposito?
Ciao.
--Gabriele

 ragionamenti di precedenze.
Anche qui non ho raggiunto il mio scopo...mi aspettavo un Mega stupore,
tipo "NNNOOOO! non ci posso crede!!!"....vabbe' come non detto :"((
Più o meno è così come dici tu! "Senza fare troppi ragionamenti" si carica i
SINGOLI script e poi alla fine, quando incontra i tag di chiusura, li
esegue. Prendo spunto dal codice che hai postato (che non quoto):
ciò è accettato e non dà nessun problema
<script >
function pluto (par)
{
 alert(pippo(par));
}
pluto("Ciao");
function pippo(par)
{
 return par;
}
</script>
Invece questo lo fa incazzare come una bestia :))
<script >
function pluto (par)
{
 alert(pippo(par));
}
pluto(234);
</script>
<script>
function pippo(par)
{
 return (par);
}
</script>

 Bisogna vedere in che istante la funzione cerca di accedere all'array
Ma sě!
Mi aspettavo un Mega stupore, tipo:
 "NOOOOOOOO! non ci posso CREDE!!!"....
vabbe' non l'ho ottenuto    :"((