Newsgroup: it.comp.lang.javascript
Titolo: Scambiare i valori di due variabili

Ciao a tutti, premetto che sono inesperto di javascript e il mio
problema,all'apperenza banale, non mi si è mai presentato con altri
linguaggi di programmazione.
Vengo al dunque: sto cercando di scrivere una function che scambia il
valore di due variabili. Il codice, inserito in un file .js separato dalla
pagina html, è il seguente:
function scambio(a,b){
	var temp;
	alert(a);
	temp=b;
	b=a;
	a=temp;
	return a,b;}
Ebbene, il risultato è che il programma chiamante invia a questa function
i valori dei parametri a e b, che provvede a scambiare ma, quando il
flusso ritorna al programma chiamante, i due valori rimangono quelli di
partenza come se nulla fosse avvenuto.
Dove sto sbagliando? Grazie anticipatamente.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 partenza come se nulla fosse avvenuto.
Beh, è ovvio. Tu stai cambiando i riferimenti non le variabili. Se
ne è già discusso sul NG non troppo tempo fa:
http://groups.google.it/group/it.comp.lang.javascript/browse_thread/thread/57fe9c3cebcc5ff7/
Non farti ingannare dal titolo ("azzerare array"), proseguendo nel
thread dovresti trovare delle informazioni utili.
-- 
~ Non esiste la certezza: è solo l'illusione di una realtà soggettiva.
(Fabio Mornati)

 (ovviamente è supportato solo dai browser di Mozilla)
beh, ovviamente ;)

 in quanto si tratta della restituzione di un array 
Ma manco per sbaglio.
Se solo ti *fermassi* un attimo a leggere la reference, almeno per
una volta, leggeresti che:
"As you can see, returning results is done using an array-like
notation, "
E sottolineo "l'array-like notation". Proseguendo:
"You can also retrieve the return values as an array:
var a = f();
[..]
In this case, a is an array containing the values 1 and 2."
E sottolineo "in this case".
-- 
~ "It may be that the old astrologers had the truth exactly reversed,
when they believed that the stars controlled the destinies of men.
The time may come when men control the destinies of stars."
(Arthur C. Clarke)

 linguaggio...  ( che ora sicuramente mi elencherai :)
M'ero perso questo pezzo, ero già partito in quarta per via del:
	"si poteva fare anche in javascript O.O"
La faccina era decisamente fuori luogo, e poi ne parlavi come se JS e
JS 1.7 non fossero comunque javascript. :)
Ed ho frainteso il resto del post. Rimane quanto detto in precedenza,
comunque: la restituzione di valori multipli da parte di una funzione
può essere fatta da JS 1.7 in avanti. Non sono io a dirlo, è il testo
della reference a farlo.
-- 
~ "Il giusto altro non è che l'utile del più forte."
(Trasimaco)

 Non sono io a dirlo, è il testo della reference a farlo.
ma in fatti non sono d'accordo sul testo della reference :-O
hanno voluto sottolineare l'importanza di una restituzione multipla di
valori che pero' si fa con un banale array (e quindi anche 10anni fa :) 
Hanno messo "using an array-like notation" ma vuol cmq dire "using an array
notation" e quindi non c'è la novità
La novità e/o cosa interessante sta nell'assegnazione di un array a
variabili distinte
a conferma di quanto ho detto (o forse anche no:), è il seguente codice:
[a, b, c] = new Array( 1, 'ciao', {a:1, b:2} );
P.S.
io fino ad un'ora fa ignoravo questa potenzialità di js1.7 (che
probabilmente non si potra' usare nel web prima di una decina anni)

 probabilmente non si potra' usare nel web prima di una decina anni)
Uomo di poca fede, leggi qua:
http://ajaxian.com/archives/mozilla-announces-screaming-iron-action-monkeys-tamarin-in-ie
In ogni caso queste features rimangono tutt'ora molto interessanti per 
chi sviluppa applicativi XUL, o comunque in Intranet, e per chi decide
di integrare SpiderMonkey nei i proprio applicativi.
-- 
~ "Non hai veramente capito qualcosa fino a quando non sei in grado di
spiegarlo a tua nonna."
(Einstein)

 thread dovresti trovare delle informazioni utili.
Scusa ma non ho trovato il messaggio di cui parli...
Ciao.
star 

 Scusa ma non ho trovato il messaggio di cui parli...
Beh, se tramite browser vai all'url che ti ho fornito, dovresti
leggerlo. In alternativa, puoi sempre andare su "Google Groups"
e cercare "azzerare array" (il thread lo iniziò artev).
-- 
~ Io non soffro di pazzia, ne godo ogni minuto.
(I don't suffer from insanity, I enjoy every minute of it)