Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    [javascript] quando č obbligatorio mettere ; a fine istruzione

    anche se non č obbligatorio, cerco di mettere sempre il ; a fine istruzione.
    In questo modo posso scrivere istruzioni javascript nel server in una sola riga.

    In qualche caso ho trovato errori (non ricord dove), dovuti alla mancanza di ; dopo la chiusura }

    per spiegarmi meglio:

    for(....) {}; istruzione1; istruzione2; var oggetto = {} istruzione3;


    domanda: dopo } č necessario mettere ; ?

    Pietro

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367

    Re: [javascript] quando č obbligatorio mettere ; a fine istruzione

    Originariamente inviato da pietro09
    domanda: dopo } č necessario mettere ; ?
    non č necessario ma non gli da fastidio

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    Re: Re: [javascript] quando č obbligatorio mettere ; a fine istruzione

    Originariamente inviato da willybit
    non č necessario ma non gli da fastidio
    ciao willybit

    :master: purtroppo in qualche caso č necessario: ma non ricordo dove

    Pietro

  4. #4
    in java non serve...in javascript non l'ho mai visto
    Realizzazione siti web
    ____________________________
    how terrible thing is knowledge when it brings no profit to the wise...

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    ho ritrovato l'esempio dove ; č obbligato, sia con IE sia con Firefox.
    L'esempio simula il msgbox da server:

    codice:
    var func = function(){alert('Ciao, mondo!');};var oldonload = window.onload;if (typeof window.onload != 'function') {window.onload = func;}else {window.onload = function() {oldonload();func();}}
    il ; prima di var č obbligato
    codice:
    
    var func = function(){alert('Ciao, mondo!');};var oldonload = window.onload;
    Pietro

  6. #6
    ; č sempre necessario per scritture inline e soprattutto dopo le graffe

    function pippo(a){alert(a)}; var a = "test"; pippo(a);

    notare che dentro le graffe non č indispensabile mettere il ; dopo l'istruzione (perō se č l'ultima o l'unica, altrimenti serve)


    un while senza brachets richiede il ; un while con brachet lo richiede dopo la }

    var pippo = true; while(pippo) break; alert("1 loop");

    var pippo = true; while(pippo){ pluto = pippo; pippo = false}; alert("1 loop");

    anche qui va notato che il termine istruzione č inevitabilmente la graffa ma dopo la graffa serve il ;


    per un'assegnazione di variabili a scope "temporaneo" basta la virgola ma dopo l'ultima serve il ;

    var a = 0, b = 100;


    assegnazione di oggetti idem, la } deve essere seguita da un ; o se in assegnazione multipla da una virgola

    var myObj = {}; var other = false;


    var myObj = {}, other = false;


    questo č vero anche per metodi o parametri dichiarati all'interno dell' oggetto

    var obj = {method:function(){}, param: true};




    e via cosė anche se innestati


    function a(){function b(){return (function c(){return "Hello World"})()}; alert(b())}; a();



    Questi accorgimenti sono oltretutto indispensabili se si utilizza la packer di Dean Edwards o la mia JavaScriptCompressor

    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Bene, la risposta č stata come al solito, completa e molto interessante

    Curiositā: cosa č il tuo JavaScriptCompressor :master:

    Pietro

  8. #8
    č la classe che mi permette di creare versioni di uno o pių files JS compressi lato server (per cacharli e darli in pasto ai clients) .... tipo questo:
    http://www.devpro.it/js/?js=JSDateChooser


    http://www.phpclasses.org/browse/package/3158.html
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    Per quello che ho potuto constatare la differenza tra virgola e punto e virgola consiste nel fatto che con i while/for/if senza graffe il puntoevirgola; chiude il blocco mentre la virgola non lo chiude, discorso analogo per la dichiarazione di variabili. Ma non č affatto necessario mai, per lo meno non ho mai incontrato casi in cui dovessi specificarlo. Ovviamente, č chiaro, io scrivo un istruzione per riga.

    esempio di sintassi:
    codice:
    var p=1, c=2, d=3
    
    if (istruzione)
        p*=4, c=Math.abs(c), d/=3
    else 
       p/=3, c=p*d, d*=d
    
    // ...
    dA .. foto di viaggio
    L'esperienza č il tipo di insegnante pių difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  10. #10
    nel tuo caso č il carattere di a capo a prendere il posto del ; ... quindi diventa indispensabile metterlo se scrivi codice inline ... (oppure si aggiunge un '\\n' ... decisamente pių scomodo, imho)

    resta il fatto che il carattere ; č sempre consigliato (e non il contrario)
    [leggere guide su JS ed ottimizzazioni codice in JS]
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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.