Visualizzazione dei risultati da 1 a 4 su 4

Discussione: <script> tag

  1. #1

    <script> tag

    Salve, volevo sapere che differenza c'è nello scrivere le istruzioni dentro un unico tag <script> oppure in più tag? es.

    codice:
    <script>
          prova();
          function prova(){alert("prova")};
    </script>
    
    <script>
          prova();
    </script>
    <script>
           function prova(){alert("prova")};
    </script>
    premesso che solitamente dichiaro le funzioni prima di richiamarle, ma volevo capire come mai nel primo caso va mentre nel secondo no...grazie.

  2. #2
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Originariamente inviato da akkressor
    premesso che solitamente dichiaro le funzioni prima di richiamarle, ma volevo capire come mai nel primo caso va mentre nel secondo no...grazie.
    Per ogni tag <script> l'interprete salva nella memoria per prima cosa il parsing delle funzioni e poi esegue tutto il resto. Nel secondo caso non essendoci funzioni va direttamente ad eseguire tutto il resto che però è ineseguibile perché contenuto nel terzo tag <script>. Nel primo caso invece quando l'interprete esegue "tutto il resto" ha già salvata in memoria la funzione.


    Originariamente inviato da akkressor
    Salve, volevo sapere che differenza c'è nello scrivere le istruzioni dentro un unico tag <script> oppure in più tag?
    L'unica differenza è solo e unicamente quello che ti ho spiegato.

  3. #3
    Originariamente inviato da carlomarx
    Per ogni tag <script> l'interprete salva nella memoria per prima cosa il parsing delle funzioni e poi esegue tutto il resto.
    Da come ho capito io, il parse scorre tutti il documento per trovare i tag script, se trova delle funzioni le mantiene in memoria e poi esegue tutto, giusto?? ma se fosse cosi mi avrebbe tenuto in memoria anche la mia funzione...

  4. #4
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    No. Il browser legge i tag per come sono ordinati. Te ne accorgi quando una pagina si carica lentamente a causa di problemi di connessione. OGNI TAG (<script>, <div>, etc.) viene considerato "loaded" non appena il browser oltrepassa nella lettura il tag di chiusura - a parte ovviamente tag che richiedono contenuto esterno, come immagini, script esterni, etc.: ben prima quindi che il body sia considerato tutto "loaded" (e prima quindi che vengano eseguite eventuali funzioni assegnate all'evento body.onload). Di conseguenza, non appena il browser trova il tag di chiusura </script>:
    1) cerca le funzioni contenute in quello script
    2) esegue il resto di QUELLO script
    3) va avanti con la lettura della pagina e se incontra altri tag script farà la stessa cosa.


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 © 2026 vBulletin Solutions, Inc. All rights reserved.