Introduzione & DOMJavascript - Base

« Older   Newer »
 
  Share  
.
  1.     +2   +1   -1
     
    .
    Avatar


    Group
    Mod
    Posts
    3,751
    Reputation
    +53
    Location
    bolzano/bozen

    Status
    Offline

    Introduzione


    Javascript è sicuramente la parte più interessante del WebDevelopment. Javascript è un linguaggio di programmazioni santo. Non è molto pignolo, è facile, ha molte funzioni implementate, non da problemi di compatibilità tra i browser (o quasi). Javascript è la parte mancante del Web Design, abbiamo HTML:Struttura, CSS: Aspetto, JS: Dinamicità.
    Cosa significa dinamicità? Significa che se cliccate il +1 di ForumFree, non dovete ricaricare la pagina. Vi esce un cerchio che indica il caricamento e avrete già votato. Simile al "mi piace" di Facebook. Significa che gli elementi come "div" possono cambiare ad un certo momento (eventi) e non solo al hover (come nel CSS).
    Il termine elementi dovrebbe esservi nuovo. Gli elementi sono i vostri tag una volta che il browser gli interpreta. Per esempio: Un bottone è un elemento, che viene generato tramite il tag button.
    Perché vi dico questo? E perché serve differenziare le due cose? Perché Javascript è un linguaggio orientato ad oggetti (OOP) e gli elementi non sono altro che oggetti. Come ogni cosa senz'anima in questo mondo. La macchina che avete/avrete è un oggetto. E come ogni oggetti ha delle caratteristiche e delle capacità. Per esempio la vostra macchina è rossa (è una caratteristica) e può accelerare (capacità). Lo stesso vale per gli elementi che possono avere certi stili (caratteristiche) e capacità (come poter' essere cliccati). Sapendo questo, possiamo continuare con il DOM.

    DOM


    Il DOM è il Document Object Model. Analizando le tre parole che compongono questo acronimo, evinciamo che è un Modello che descrive gli Oggetti del nostro Documento HTML. Quindi non sarebbe nient'altro che la logica che compone la nostra struttura creata in HTML. Un esempio:
    HTMLHEADBODYTITLEHEADERARTICLEFOOTER
    Grafico creato in SVG per MAW


    Questo significa che per selezionare un elemento con il JS e modificarlo, dobbiamo basarci su questo modello. Però prima di insegnarvi a manipolare gli elementi, vi spiego come si programma.

    Il nostro primo script.


    Gli script si creano con il tag script e vengono eseguiti durante il caricamento della pagina. Forumfree vi aggiunge automaticamente l'attributo type="text/javascript", anche se con lo standard attuale è opzionale. Dentro questo tag parleremo letteralmente un'altra lingua.
    CODICE
    <script></script>

    Iniziamo con la cosa più bella di ogni linguaggio, i commenti.
    In Javascript ci sono due tipi di commenti: commenti a blocco e commenti a riga.
    La differenza è che nei commenti a blocco si può andare a capo, mentre in quelli a riga no.

    Commenti a blocco: Vengono fatti come in CSS /*COMMENTO*/
    Commenti a riga: Si fanno con due slash //COMMENTO. Da notare che il resto della riga verrà ignorato al momento dell'esecuzione.

    Quindi possiamo fare una cosa così:
    CODICE
    <script>
    //Il nostro primo script
    </script>


    E adesso iniziamo con i prompt!
    Ci sono tre tipi di Prompt:
    - alert

    - confirm

    - prompt


    Possiamo crearli semplicemente scrivendo "prompt", "confirm" o "alert" seguiti da due parentesi e con il testo da noi desiderato tra virgolette.
    CODICE
    alert("ciao")


    Quindi il nostro primo script sarà così:
    CODICE
    <script>
    //Il mio primo script
    alert("MLMLMLMLMLMLML by MLLA");
    </script>


    Il ";" indica la fine del commando / della riga (di solito), ma non è obbligatoria.
    Inserendo questo script su JSBIN (nel body) e cliccando su: esegui con JS, si aprirà il prompt.

    Debbugging


    Essendo un linguaggio di programmazione, bisogna programmare gli script, ed ogni programma programmato ha degli errori, errori che mettiamo noi, ma che non sempre riusciamo trovare. Uno script se contiene un errore fatale durante il runtime, interrompe la sua esecuzione. Ciò significa che viene eseguito finché non sorge l'errore. Il metodo più usuale è mettere un alert dopo ogni riga e vedere fino a quale riga appare l'alert. L'alert che non si apre, indica il punto del errore.

    Alert debugging


    CODICE
    <script>
    Codice funzionante
    alert("funziona 1");

    Codice funzionante
    alert("funziona 2");

    Codice non funzionante
    alert("funziona 3");

    Codice funzionante
    alert("funziona 4");
    </script>

    Visto che non si aprirà l'alert "funziona 3", sappiamo che quello è il codice che non funziona :P

    Console debugging


    Poco professionale, vero?
    Ogni browser ci mette a disposizione (per fortuna) i mezzi per sviluppare. In questa guida spiegherò quelli di chrome.
    Per aprire la console, potete premere: F12 e poi su console (Windows), oppure alt+cmd+j (MAC), oppure ctrl + j (LINUX + WINDOWS (?) ).

    Situazione: Invece di alert("mlmlml") ho scritto alrt("MLMLML").

    Metodo 1 - Guardare semplicemente la console, di solito i browser avvisano già degli errori riconosciuti.

    Metodo 2: Prova - Inserendo un try/catch possiamo provare ad eseguire il codice, e farci restituire l'errore se viene interrotto.
    CODICE
    <script>
    try
    {
    //CODICE DA PROVARE
    }
    catch(e)
    {
     console.error(e.message);
    }
    </script>

    Il messaggio visualizzato, sarà identico a quello di sopra.
    .

    Esercizio


    Per questa volta è tutto, il vostro esercizio sarà "semplicemente" di andare su http://jsbin.com e inserire nel campo JAVASCRIPT il codice (tralasciando i tag) e poi di premere il tasto "Run with JS". Se non vi appaiono i prompt, sapete dove e come scovare l'errore ;)
    Nella prossima guida, vi spiegherà meglio come creare e usare funzioni e variabili :)
    Sono ansioso di vedere i primi risultati :)


    Edited by .:Milla:. - 21/5/2014, 20:16
     
    Top
    .
  2. .:Milla:.
        +1   -1
     
    .

    User deleted


    http://jsbin.com/qakokale/3/edit

    °° non penso che funga così..... Ho provato anche senza il tag script dato che hai detto "(tralasciando i tag)", ma non esce.... e non ho capito che errori mi da
     
    Top
    .
  3.     +1   -1
     
    .
    Avatar


    Group
    Mod
    Posts
    3,751
    Reputation
    +53
    Location
    bolzano/bozen

    Status
    Offline
    Quasi .:Milla:., ci sei andata vicina.
    Purtroppo le scritte "proviamo" e "mi sa che non funge molto" non sono all'interno di commenti.
    Aggiungendo "//" all'inizio della riga (così che diventano verdi su JSBIN) risolve un problema.
    L'altro problema è che hai messo il Tag: Script.
    Su JSBIN nel campo "javascript" non serve. Guardando in basso trovi "5 warnings" che ti dicono che non vogliono il "<" perché appunto non fa parte del JavaScript.
    Vedi qui: http://jsbin.com/qakokale/4/edit
     
    Top
    .
  4. .:Milla:.
        +1   -1
     
    .

    User deleted


    Il link non me lo apre, c'è la rotellina che continua a girare... Comunque non ho capito :I cioè, okay, tolgo il tag <script>, però la cosa dei commenti non l'ho capita.. tu qui, all'interno degli script hai messo
    CODICE
    Codice funzionante
    alert("funziona 1");

    Codice funzionante
    alert("funziona 2");

    Codice non funzionante
    alert("funziona 3");

    Codice funzionante
    alert("funziona 4");


    e non ci sono commenti :I io ho fatto praticamente così, con un commento all'inizio

    tra l'altro se incollo quello che hai scritto tu, mi da 18 warnings e non funziona comunque
     
    Top
    .
  5.     +1   -1
     
    .
    Avatar


    Group
    Mod
    Posts
    3,751
    Reputation
    +53
    Location
    bolzano/bozen

    Status
    Offline
    Si, non sono funzionanti quei esempi :P
    prova così:
    CODICE
    //Codice funzionante
    alert("funziona 1");

    //Codice funzionante
    alert("funziona 2");

    Codice non funzionante
    alert("funziona 3");

    //Codice funzionante
    alert("funziona 4");
     
    Top
    .
  6. .:Milla:.
        +1   -1
     
    .

    User deleted


    Ahhhh ecco, quindi il "titolo", chiamiamolo così, in realtà sono dei commenti che non si vedranno, è quello scritto nelle parentesi che sarà il messaggio.. Avevo capito il contrario uvu

    Okay quindi Così funziona ouo
     
    Top
    .
  7. MatteoMattew
        +1   -1
     
    .

    User deleted


    Cosi?
    http://jsbin.com/kisayiyefe/edit?html,js,output
     
    Top
    .
  8.     +1   -1
     
    .
    Avatar


    Group
    Mod
    Posts
    3,751
    Reputation
    +53
    Location
    bolzano/bozen

    Status
    Offline
    Perfetto ;)
     
    Top
    .
7 replies since 17/5/2014, 01:05   76 views
  Share  
.
Top