Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2016
    Messaggi
    2

    Estrarre variabile da funzione con parametro

    Il mio script d'esempio è questo qua sotto

    codice HTML:
    <script type="text/javascript">
                function ciao(conta) {
                    numero=1;                
                }            
    </script>


    Il problema è che non riesco a tirare fuori dalla funzione la variabile "numero", neanche utilizzando return dentro la funzione
    So che il parametro sembra messo li a caso, ma nel lavoro che sto facendo mi serve.
    Quindi quando nel body vado a scrivere queste stringhe...

    codice HTML:
    <script type="text/javascript">
            ciao(conta);
                document.write(numero);
    </script>

    ...non mi esce il valore di "numero" a display
    Mentre se elimino il parametro (conta) sia sopra che sotto, tutto funziona
    il problema è che il parametro mi serve, come risolvo?

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Questa parte genera un errore che blocca lo script:
    codice:
    <script type="text/javascript">
            ciao(conta);
                document.write(numero);
    </script>
    La variabile conta, in questo punto, risulta non definita.
    Non è chiaro il tuo intento ma, se devi passare una qualsiasi variabile ad una qualsivoglia funzione, dovrà essere precedentemente definita (e magari anche inizializzata).
    Puoi farlo con l'istruzione var.
    codice:
    var conta = "un qualche valore";
    ciao(conta);
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2016
    Messaggi
    2
    faccio prima a scriverti quello che sto cercando di fare

    questa è la mia funzione in java

    codice HTML:
    <script language="JavaScript">
    function cartella(conta) {                
    vid=new Array("cartella0","cartella1","cartella2","cartella3","cartella4","cartella5",
    "cartella6","cartella7","cartella8","cartella9","cartella10",
    "cartella11","cartella12","cartella13","cartella14","cartella15",
    "cartella16","cartella17","cartella18","cartella19","cartella20",
    "cartella21","cartella22","cartella23","cartella24","cartella25",
    "cartella26","cartella27","cartella28","cartella29","cartella30","cartella31");
    
    document.video.src=vid[conta]; 
    }          
    
    function avvia() { 
                   data = new Date
                   ora=data.getDate() 
                   cartella(ora) 
                            }        
    </script>
    L'ho presa da un sito e spiegava che serviva a cambiare l'immagine di sfondo ogni giorno
    Il mio problema è io voglio cambiare un link ogni giorno, per andare ad aprire degli elementi posizionati in cartelle diverse.
    Quindi nel body scrivo l'url della cartella variabile

    codice HTML:
    <script language="JavaScript">
    document.write(' <a href=\"Video\\' + vid + '\\video.mp4\">Ciao<\/a> ');
    </script>
    solo che non mi prende la variabile vid
    nemmeno se scrivo
    codice HTML:
    <script language="JavaScript">
    document.write(vid);
    </script>
    come faccio??
    Ultima modifica di Edoras; 24-05-2016 a 18:42

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    questa è la mia funzione in java
    Java?!
    Prima cosa, tieni sempre bene a mente: JavaScript non è Java

    Seconda cosa: ti consiglio vivamente di evitare le dichiarazioni implicite per le variabili (siano esse locali o globali) ma, per una buona programmazione, è sempre meglio definirle esplicitamente. Vedi l'uso dell'istruzione var.
    Consiglio di iniziare a dare uno sguardo a qualche guida di base tipo questa: Variabili globali e locali: lo scope
    e questa: Variabili, costanti e dichiarazioni

    Sicuramente ti aiuteranno a capire alcuni importanti concetti.

    Terza cosa: fare il copiaincolla è un buon metodo per iniziare a prendere mano col linguaggi di programmazione Ma fatto in quel modo lì, senza capire esattamente come funziona ogni singola istruzione, è sicuramente controproducente.

    Nel tuo script non vedo la chiamata della funzione avvia() dove poi è richiamata cartella().
    Presumo che per valorizzare la variabile vid sia necessario che la funzione cartella() venga eseguita.

    Ad ogni modo quella variabile è un array, quindi deduco che l'uso che ne stai facendo non sia logicamente corretto:
    codice:
    document.write(' <a href=\"Video\\' + vid + '\\video.mp4\">Ciao<\/a> ');
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.