Visualizzazione risultati 1 fino 5 di 5

Discussione: JS: usare variabili fuori da una funzione

  1. #1
    L'avatar di LiteCMS
    LiteCMS non è connesso Neofita
    Data registrazione
    01-09-2007
    Messaggi
    12

    Question JS: usare variabili fuori da una funzione

    Ciao, mi sono avvicinato relativamente da poco a JS, quindi ho alcuni dubbi banali, come il seguente...

    Dovrei scrivere una funzione che si attiva ogni qualvolta un tasto viene premuto o uno slider viene modificato di valore...e fino a qui, nulla di che.

    Il problema sorge nel momento in cui dovrei usare delle variabili impostate, ad esempio, nella funziona A() nella funzione B().... Ora come ora è come se quelle variabili non fossero definite, se non all'interno delle rispettive funzioni...è un comportamento normale o sbaglio io qualcosa?

    Perchè ogni volta mi ritrovo praticamente ridichiarare le stesse identiche variabili all'infinito e ripetere il codice sempre e comunque...

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,064

    Predefinito

    Non ho ben capito il problema.

    Dal titolo vedo che vuoi usare variabili fuori da una funzione, quindi dovresti dichiararla appunto fuori, così:
    Codice:
    var click = 0;
    window.onload = function()
    {
    	document.getElementById("p1").addEventListener("click", function(){
    		click++;
    		mostra_click();
    	});
    	
    	document.getElementById("p2").addEventListener("click", function(){
    		click++;
    		mostra_click();
    	});
    	
    	document.getElementById("p3").addEventListener("click", function(){
    		click++;
    		mostra_click();
    	});
    }
    
    function mostra_click()
    {
    	document.getElementById('out').innerHTML = 'cliccato: '+click+'volte';
    }
    Con ad esempio l'html associato:
    Codice HTML:
    <button id="p1">pulsante 1</button>
    <button id="p2">pulsante 2</button>
    <button id="p3">pulsante 3</button>
    <p id="out"></p>
    esempio.

    Ciao!

  3. #3
    L'avatar di LiteCMS
    LiteCMS non è connesso Neofita
    Data registrazione
    01-09-2007
    Messaggi
    12

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Non ho ben capito il problema.

    Dal titolo vedo che vuoi usare variabili fuori da una funzione, quindi dovresti dichiararla appunto fuori, così:
    Codice:
    var click = 0;
    window.onload = function()
    {
    	document.getElementById("p1").addEventListener("click", function(){
    		click++;
    		mostra_click();
    	});
    	
    	document.getElementById("p2").addEventListener("click", function(){
    		click++;
    		mostra_click();
    	});
    	
    	document.getElementById("p3").addEventListener("click", function(){
    		click++;
    		mostra_click();
    	});
    }
    
    function mostra_click()
    {
    	document.getElementById('out').innerHTML = 'cliccato: '+click+'volte';
    }
    Con ad esempio l'html associato:
    Codice HTML:
    <button id="p1">pulsante 1</button>
    <button id="p2">pulsante 2</button>
    <button id="p3">pulsante 3</button>
    <p id="out"></p>
    esempio.

    Ciao!
    Ciao, grazie per la risposta.

    Mi spiego meglio (da tablet mi viene difficile ma farò il possibile):
    Ho una funzione A() in cui uso una variabile x
    Tale x voglio usarla anche nella funzione B(), ma senza dichiararla nuovamente, bensì, usandola con lo stesso, identico valore che aveva in A()

    Spero sia chiaro ciò che intendo :)

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,064

    Predefinito

    Sì, quello che ho appena fatto: la variabile "click" viene utilizzata in più funzioni ed ha il valore precedente.

    Ciao!

  5. #5
    L'avatar di LiteCMS
    LiteCMS non è connesso Neofita
    Data registrazione
    01-09-2007
    Messaggi
    12

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Sì, quello che ho appena fatto: la variabile "click" viene utilizzata in più funzioni ed ha il valore precedente.

    Ciao!
    Perfetto, grazie mille ;)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •