JavaScript: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Update syntaxhighlight tags - remove use of deprecated <source> tags
Riga 23:
=== 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:
<sourcesyntaxhighlight lang="html">
<!DOCTYPE HTML>
<html>
Riga 39:
</body>
</html>
</syntaxhighlight>
</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>:
<sourcesyntaxhighlight lang="html">
<script src="prova.js"></script>
</syntaxhighlight>
</source>
 
'''Nota''':
Riga 58:
=== 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.
<sourcesyntaxhighlight lang="javascript">
/*
Codice che fa cose
Riga 67:
// Questa variabile serve, credo
var a = 4;
</syntaxhighlight>
</source>
 
== Variabili ==
Riga 74:
Le variabili sono case-sensitive.
 
<sourcesyntaxhighlight lang="javascript">
var a = 'ciao';
console.log( a );
Riga 86:
a = [1, 2, 3, 4];
console.log( a );
</syntaxhighlight>
</source>
 
Qualsiasi variabile istanziata in una pagina ha visibilità globale, al contrario qualsiasi variabile istanziata in una funzione ha visibilità locale.
Riga 94:
 
Funzione classica:
<sourcesyntaxhighlight lang="javascript">
var N = 2;
 
Riga 102:
 
console.log( square(N) );
</syntaxhighlight>
</source>
 
Funzione anonima:
<sourcesyntaxhighlight lang="javascript">
var N = 2;
 
Riga 113:
 
console.log( square(N) );
</syntaxhighlight>
</source>
 
Funzione anonima auto-richiamata (avanzata):
<sourcesyntaxhighlight lang="javascript">
var N = 2;
 
Riga 122:
return n * n;
}(N) );
</syntaxhighlight>
</source>
 
== Notazione a cammello ==
Solitamente le funzioni e le variabili JavaScript sono chiamate secondo la [[w:Notazione a cammello|notazione a cammello]]:
<sourcesyntaxhighlight lang="javascript">
function doSomethingIncredible(superVariable) {
return ! superVariable;
Riga 134:
 
console.log( okWikiversity );
</syntaxhighlight>
</source>
''Output'': <code>true</code>
 
Riga 141:
 
Un oggetto creato manualmente:
<sourcesyntaxhighlight lang="javascript">
var marioRossi = {
name: 'Mario Rossi',
Riga 153:
 
console.log( marioRossi.score );
</syntaxhighlight>
</source>
''Output'': <code>1</code>
 
O ancora manualmente:
<sourcesyntaxhighlight lang="javascript">
var marioRossi = {name: 'Mario Rossi', score: 0};
 
Riga 168:
 
console.log( marioRossi.score );
</syntaxhighlight>
</source>
''Output'': <code>1</code>
 
Un oggetto creato tramite un prototipo:
<sourcesyntaxhighlight lang="javascript">
// Questa funzione costruirà il mio oggetto
function GamePlayer(name) {
Riga 190:
 
console.log( marioRossi.score );
</syntaxhighlight>
</source>
''Output'': <code>1</code>
 
Si può anche modificare uno dei prototipi predefiniti per appenderci metodi personalizzati:
<sourcesyntaxhighlight lang="javascript">
// Appendo il metodo sandwich() nel prototipo String
String.prototype.sandwich = function (bread) {
Riga 201:
 
console.log( 'Wikiversità'.sandwich('@@') );
</syntaxhighlight>
</source>
 
''Output'': <code>@@Wikiversità@@</code>
Riga 212:
 
In questo esempio stampo in console un oggetto correttamente creato col costruttore, e poi ciò che otterrei senza <code>new</code>:
<sourcesyntaxhighlight lang="javascript">
// Definisco un costruttore
function GamePlayer(nome) {
Riga 224:
console.log( new GamePlayer('Mario Rossi') );
console.log( GamePlayer('Mario Rossi') );
</syntaxhighlight>
</source>
''Output'': <code>Object { nome: "Mario Rossi", score: 0 }</code><br />
''Output'': <code>"Eh? Mi usi come funzione?"</code>