Newsgroup: it.comp.lang.javascript
Titolo: Il segno ; di punteggiatura

Ciao a tutti,
mi accade a volte di dimenticare il punto e virgola e non accade nulla di
strano o quasi
Infatti a volte sembra funzionare tutto bene quando improvvisamente il
btowse fa le bizze e mi dice che maca il  punto e virgola
Allora mi chiedo :
quando è obbligatorio il punto e virgola e quando si può omettere
cia e grazie
Paolo

 ha scritto nel messaggio
news:6qBk6.6842$_N1.1...@news.infostrada.it...

puoi omettere il punto e virgola quando vai a capo , perchè javascript lo
inserisce automaticamente ,
in tutti gli altri casi ci vuole........
andreotta fabiano
 WebMªster ATI POWER s.n.c.
 
andr...@atipower.it
 
http://www.atipower.it
    -new-
 
http://www.afdsoftware.freeweb.org
 
http://www.jsdir.com

 quando è obbligatorio il punto e virgola e quando si può omettere
Il punto e virgola in JavaScript viene utilizzato per separare le
istruzioni, è anche vero che lo stesse possono essere separate con un
ritorno a capo (INVIO); alcune istruzioni però non funzionano bene senza il
punto e virgola finale... un motivo potrebbe essere quello dell'utilizzo di
un editor testuale un pò "difettoso" per cui non viene codificato bene l'
INVIO e di conseguenza il browser non trovando l'invio si aspetta un punto e
virgola per separare le istruzioni.
Per non correre rischi è sufficiente cmq mettere sempre il punto e virgola.
CIAO
Stefano

 ha scritto nel messaggio
news:9703dt$n228u$1...@ID-57211.news.dfncis.de...


 cia e grazie
  A volte ho riscontrato delle anomalie con MSIE4 se non mettevo
sempre il punto e virgola dove poteva essere messo.
  Io lo metterei sempre al di la' dell'essere obbiligati o meno; un po' per
 conformita' con gli altri linguaggi un po' perche' seguo questa filosofia
 che dovrebbe a detta di chi la consiglia generare maggiore chiarezza
 nel codice:
To avoid confusion always end single JavaScript statements with a semi-colon.
The following demonstrates confusion that might
 arise is semi-colons are missed off:
<SCRIPT LANGUAGE="JavaScript">
function functionName(A,B) {
    if (A == B)
        return 'equal';
}
alert(functionName(2,2));   // Returns equal if A equals B.
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
function functionName(A,B) {
    if (A == B);
        return 'equal';
}
alert(functionName(2,2));
// Always returns equal, even if A does not equal B.
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
function functionName(A,B) {
    if (A == B) return
        'equal';
}
alert(functionName(2,2));
// Returns nothing if A equals B, as the return statement
// does not extend onto the next line. This will actually result in an error.
</SCRIPT>

 quando è obbligatorio il punto e virgola e quando si può omettere
la documentazione ufficiale di JavaScript (NS) e di JScript (MS)
raccomandano entrambe l'uso del simboo ';' per terminare ogni statement,
aggiungendo pero' che esso non e' strettamente obbligatorio perche'
sostituibile da una terminazione di linea, senza essere troppo precise su
quali caratteri costituiscano una terminazione di linea per l'interprete.
tempo fa ricordo di avere letto un artricolo su
http://developer.netscape.com
 dove veniva spiegato che l'uso del semicolon
era raccomandato perche' e' possibile che venga in futuro standardizzato
(purtroppo non trovo piu' il link esatto)
ho guardato la specifica ufficiale di ECMAScript (ECMA-232 3rd Edition,
scaricabile in formato pdf da 
http://www.ecma.ch/ecma1/stand/ecma-262.htm
)
dove viene spiegato che i caratteri che per l'interprete ECMAScript
costituiscono una terminazione ("...line terminators also effect the process
of automatic semicolon insertion...") sono:
\u00A    Line Feed    <LF>
\u00D    Carriage Return    <CR>
\u2028    Line separator    <LS>
\u2029    Paragraph separator    <PS>
ciao
--
    Federico Sasso &8v>
 
http://www.crt.unige.it/jsSQL
    The jsSQL Project - JavaScript Database and SQL Engine

 oppure dopo un return null   ???????
Il blocco di un if parte dalla fine della parentesi tonda fino al primo
punto e virgola (se ometti le graffe)
puoi mettere il punto e virgola subito dopo la chiusura della tonda ma non
puoi eseguire alcuna istruzione in quel blocco....
Dopo un return null puoi anche metterlo tanto l'istruzione è finita.
Stefano