JavaScript: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Valerio Bozzolan ha spostato la pagina Javascript a JavaScript: C'è un errore nel titolo |
Rivisitazione completa |
||
Riga 2:
{{Risorsa|tipo=lezione|materia1=Linguaggi di programmazione web}}
{{Linguaggio
|
|
|
|
|
|
}}
==
JavaScript
Questa lezione tratta perciò del linguaggio JavaScript interpretato lato-client, incluso in pagine [[HTML]].
== Introduzione ==
Fu originariamente sviluppato da Brendan Eich della [[w:Netscape Communications|Netscape Communications]] come linguaggio di scripting interpretato lato-client e debolmente orientato agli oggetti. Si contrappone all'HTML e al CSS che non sono linguaggi di programmazione ma bensì di formattazione.
== Concetti base ==
=== Integrazione in una pagina HTML ===
I comandi JavaScript vengono interpretati dentro all'apposito tag <code><script></code>. È possibile utilizzarlo più volte sullo stesso documento inserendolo nell'<code><head></code> o nel <code><body></code> del documento HTML:
<source lang="html">
<!DOCTYPE HTML>
<
<head>
<title>Esempi</title>
</head>
<body>
<h1>Esempio 1</h1>
<script>
// Spazio per JavaScript
var a = "Ciao";
var b = ", Mondo!";
console.log( a + b );
</script>
</body>
</html>
</source>
È possibile richiamare anche uno script su un file esterno. Il file deve contenere solo codice JavaScript ed è bene che abbia estensione <code>.js</code>:
<
<script src="prova.js"></script>
</source>
'''Nota''':
I prossimi esempi di codice saranno implicitamente in un tag <code><script></code>, come nell'esempio sopra.
=== Console di debug ===
Molti browser-web moderni come [[w:Mozilla Firefox|Mozilla Firefox]] o [[w:Chromium|Chromium]] includono una console di debug, utile per l'analisi del codice di una pagina web.
Ad esempio su Mozilla Firefox la console di debug si apre con il tasto <code>F12</code> e permette di digitare direttamente comandi JavaScript, o vedere l'output di <code>console.log()</code> utilizzato nell'esempio precedente.
La console di debug mostra errori normalmente non visibili durante la semplice navigazione.
=== Commenti ===
I commenti non vengono considerati dall'interprete JavaScript. Così come per qualsiasi software è buona abitudine usare i commenti multi-riga all'inizio del file per riassumere cosa fa il codice, insieme al nome dell'autore e la licenza del proprio codice.
<source lang="javascript">
/*
Codice che fa cose
Autore: Mario Rossi
Licenza: GNU GPL
*/
// Questa variabile serve, credo
var a = 4;
</source>
== Variabili ==
JavaScript non è un linguaggio a tipizzazione forte: alle variabili non si specifica a priori il tipo e può cambiare nel corso del programma. Solitamente la prima istanziazione si effettua tramite <code>var</code>.
Le variabili sono case-sensitive.
<source lang="javascript">
var a = "ciao";
console.log( a );
a = 1;
console.log( a );
a = true;
console.log( a );
a = [1, 2, 3, 4];
console.log( a );
</source>
Qualsiasi variabile istanziata in una pagina ha visibilità globale, al contrario qualsiasi variabile istanziata in una funzione ha visibilità locale.
=== Funzioni ===
I seguenti codici hanno il medesimo risultato:
Funzione classica:
<source lang="javascript">
var N = 2;
function square(n) {
return n * n;
}
console.log( square(N) );
</source>
Funzione anonima:
<source lang="javascript">
var N = 2;
var square = function (n) {
return n * n;
};
console.log( square(N) );
</source>
Funzione anonima auto-richiamata (avanzata):
<source lang="javascript">
var N = 2;
console.log( function (n) {
return n * n;
}(N) );
</source>
== Notazione a cammello ==
Solitamente le funzioni e le variabili JavaScript sono chiamate secondo la [[w:Notazione a cammello|notazione a cammello]]:
<source lang="javascript">
function doSomethingIncredible(superVariable) {
return ! superVariable;
}
var okWikiversity = doSomethingIncredible(true);
console.log( okWikiversity );
</source>
|