Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    comprensione sintassi javascript

    Buongiorno a tutti quanti.
    Pongo questa semplice domanda.

    Sto studiando javascript e sto facendo gli esercizi proposti sul libro.
    Sono arrivato ad eseguire le funzioni. questo è l'esempio :


    function process()
    {
    var string;

    string ="<ul>"
    +"[*]Nero"
    +"[*]Arancione"
    +"[*]Rosa"
    +"[/list]";


    myDiv = document.getElementById("myDivElement");
    myDiv.innerHTML=string;



    }




    Quello che non capisco è :
    perchè string viene dichiarata : var string ;
    mentre myDiv non viene dichiarato?

    Ho provato a dichiararlo in questo modo : var myDiv e non mi genera nessun errore nel browser.
    L'editor che sto usando (Netbeans), tuttavia me le segna di colore diverso, come messo nell'esempio.
    Mi spiego: var string, non viene visualizzata come "field", mentre myDiv si.

    Forse il binding di myDiv avviene a runtime e per questo non ha bisogno di essere dichiarato?

    Spero in una qualche risposta.
    Grazie in anticipo
    A presto
    E.

  2. #2
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    string in JS è un tipo di oggetto, con metodi e proprietà, non è corretto usarlo come nome di variabile;
    chiamalo mystring e vedrai che probabilmente nel tuo editor cambia anche colore.

    La dichiarazione della variabile può essere omessa se le assegni subito un valore come nel caso di myDiv che quindi si "autodichiara"

    Questo ti sarà molto utile
    http://www.w3schools.com/js/default.asp
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  3. #3
    string in JS è un tipo di oggetto
    credo che ti riferisca a String (iniziale maiuscola!): javascript è sensibile al case...

    Poichè molti motori javascript non considerano mandatoria la dichiarazione delle variabili con la keyword var, molti programmatori spesso la omettono o dimenticano, anche negli esempi bubblicati sui libri...

    Se vuoi essere sicuro che funzioni bene e dovunque, tu usala dovunque indicato.
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    finora nessuno ha evidenziato una differenza sostanziale:
    string diventa variabile locale, myDiv globale

    string esiste solo all' interno della funzione e solo finche' viene eseguita
    myDiv dalla prima esecuzione della funzione in poi continua ad esistere ed e' richiamabile ovunque

    nel caso specifico potrebbe avere un senso,
    completamente in altro momento si potrebbe voler eseguire
    if(myDiv){myDiv.style.fontSize='24px'}
    cosi' come essere un errore, non invalidante ma degno di nota

  5. #5
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    ubi major Supermac cessat
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  6. #6
    string diventa variabile locale, myDiv globale
    per maggiore compatibilità io definirei nello scope principale var myDiv se la voglio usare globalmente, così sarà disponibile in tutte le funzioni senza doverla dichiarare.

    Temo che definirla all'inteno di una funzione, anche senza usare "var", potrebbe portare dei problemi...
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  7. #7
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Originariamente inviato da Xinod
    finora nessuno ha evidenziato una differenza sostanziale:
    string diventa variabile locale, myDiv globale
    ma siamo sicuri sicuri al 100% che myDiv diventa globale?
    I got the remedy

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.