Newsgroup: it.comp.lang.javascript
Titolo: incremenrtare una variabile di un altra funzione

function pippo(){
a=0;
}
function pluto(){
a + 1;
}
ad ogni pigiatura di tasto dovrebbe fare
0
1
2
3




eh? sai che non ho capito la domanda? a++ o a=a+1 per assegnare.
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.



credo di aver capito cosa intendi, anche se comunque è consigliabile non
dare per scontate 1000 cose a costo di scrivere 2 righe di più (lo dico per
esperienza personale)
tu hai 2 bottoni che al onclick ad esempio lanciano rispettivamente pippo()
e pluto()
Premsso che a quanto ne so', JS non ha la possibilità di dichiarare
variabili statiche ma solo locali o globali
una cosa come hai fatto tu con pippo() sarebbe una dichiarazione globale (a
meno che tu non abbia saltato delle righe di codice precedenti a a=0; del
tipo var a; effettuando una dichiarazione locale e quindi disponibile
localmente solo alla funzione in questione) e quindi dal momento del primo
lancio di quella funzione (o di altre che farebbero una cosa del genere)
crei un variabile globale che è accessibile a tutte le funzioni e blocchi
vari...
pero' attenzione che gli setti il valore a zero...
Infine come ti è gi' stato detto la funzione pluto() così com'è non sta
facendo niente o meglio non sta incrementando la variabile in questione

 facendo niente o meglio non sta incrementando la variabile in questione
Già che c'eri potevi precisare ulteriormente: la funzione pluto sta
semplicemente sommando "1" al valore contenuto in "a", solo che poi
non lo assegna a niente.
-- 
~ "Le leggi sono come le ragnatele:
abbastanza forti per catturare i deboli,
troppo deboli per trattenere i forti."
(Anacarsi lo Scita)




Cosa che farebbe, se pluto fosse:
	function pluto() { ++a };
Il problema è che non fa quanto dici nel subject. Ovvero non stai
incrementando una variabile di un'altra funzione; bensì una che è
stata definita globale (in quanto manca il "var" in pippo, come è
già stato detto).
Quindi, per rispondere al subject, non è possibile accedere a una
variabile dichiarata in un'altra funzione, a meno che la funzione
dalla quale si cerca di accedere non sia nelle stesso scope della
variabile in questione (closure). Per intenderci:
function pluto(){
	var a = 0;
 
	function pippo(){
		++a;
	}
	alert(a);
	pippo();
	alert(a);
}
-- 
~ "Io non vorrei subire un'ingiustizia nè commetterla, ma se
dovessi scegliere, preferirei subirla."
(Platone - "Gorgia")

 ha scritto nel messaggio
news:g71xcjq6unb8$.dlg@ID-171124.news.individual.net...

in php lo faccio cosi:
$cukey = array();
function scaccola(&$cuy){
    global $cukey;
    $cukey[] = $cuy;
}
sacccola('pippo');
aggiunge all'array un chiave valore
in questo caso mi serve un valore per fare un invio (che fa insert)
e quello dopo fa update (se ho una variabile incrementata) posso sapere
anche le modifiche effettuate (ma nn e' necessario)

 anche le modifiche effettuate (ma nn e' necessario)
Non ti ho capito un granché.
-- 
~ "Un uomo è più 'grande' di un altro solo se sale sulle sue spalle."
(Bertold Brecht)

 }
Scusate se mi intrometto,
c'è un modo per incrementare il valore di "a" ogni volta che premo un 
pulsante ?
es:
<script type="text/javascript">
function pluto(){
var a = 0;
function pippo(){
++a;
}
pippo();
document.getElementById('str1').innerHTML=a;
}
</script>
<input type="button" onClick="pluto()">
<div id='str1'></div>
Questa bozza qui me lo incrementa solo la prima volta che clicco ...
Grazie mille
                                            -- Yena --

 Questa bozza qui me lo incrementa solo la prima volta che clicco ...
A meno che il pulsante non ricarichi la pagina, si:
<script type="text/javascript">
	var inc = 0;
</script>
<input type="button" onclick="alert(++inc)" />
-- 
~ "L'unico requisito necessario affinchè il male si diffonda,
è che le persone per bene non facciano nulla." (Edmond Burke)