Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Alessandro Pellizzari Newsgroups: it.comp.lang.javascript Subject: Re: Utilizzo variabili Date: 12 Nov 2016 08:15:47 GMT Lines: 70 Message-ID: References: <759470d0-4ddc-4fbc-b54d-71bc70272ba2@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: individual.net vHmAWZWoit6X+qSGLW/CJAWX9MiB1nzqrCOhUR4GbAXd4VNKg= Cancel-Lock: sha1:CW7rvnQQfu+r0E0wbuvnuLC3VzU= User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2) Xref: csiph.com it.comp.lang.javascript:8098 Il Fri, 11 Nov 2016 05:19:12 -0800, tres.farc ha scritto: > Lo script "formazione.js" è così (concentratevi sulle variabili): > > ************************************************************* > function scriviHTML(input){ > var t=''; > > t+='
'+equipe+'_'+input+[0]+'
'; //Nome della squadra Dovresti ristudiarti un po' le basi. Qui stai usando una variabile "equipe" che, non avendo definito, è undefined. Poi ci appendi la stringa '_', l'input passato alla funzione (il numero 1 o 2 trasformato in stringa), un array che contiene 0 (che presumo venga trasformato nella stringa '0'). Il risultato finale in HTML è qualcosa tipo
_10
La stessa cosa succede sotto: > t+='
 '+avversari+'_'+input+[0][0]+'
'; // Nome 1° > avversaria Non cercare di costruire dinamicamente i nomi delle variabili. È troppo complesso, al tuo livello. Piuttosto metti tutto in degli oggetti. Questo: > var equipe_1=['BAYERN MONACO','Monaco di Baviera','Germania'] > > var avversari_1=[ > ['JUVENTUS','REAL MADRID','BARCELLONA'], > ['1-0','2-2','1-1'] > ] Diventa così: equipe[1] = ['BAYERN MONACO','Monaco di Baviera','Germania']; avversari[1] = [ ['JUVENTUS','REAL MADRID','BARCELLONA'], ['1-0','2-2','1-1'] ]; Naturalmente devi dichiarare i due oggetti vuoti il prima possibile: var equipe = {}; var avversari = {}; A quel punto puoi semplificare la funzione: function scriviHTML(input){ var t=''; t+='
'+equipe[input][0]+'
'; In generale il codice è abbastanza "spaghetti", ma immagino tu stia imparando un po' alla volta. Purtroppo JS non ha (ancora) un sistema standardizzato per supportare moduli caricati automaticamente. Finchè non impari come gestirli (per esempio con require.js o con un transpiler), metti tutto in un singolo file. Bye.