I moduli in Javascript
I moduli sono una parte di codice da andare ad aggiornare più e più volte, oppure andare ad aggiornare in base alle esigenze di un progetto (Esempio: uno slider, un contatore etc.)
Con i moduli è molto importante l'utilizzo di variabili che funzionano solo all'interno del blocco di codice (protezione dei nomi delle variabili), cioè riservate nell'ambito del posto in cui nascono.
Sintassi: I moduli
Sintassi di una Funzione Anonima
// con le parentesi tonde davanti a function andiamo a definire una funzione anonima
let myVar = (function(){ // codice da eseguire
})();
Sintassi di un Modulo
// inserendo la funzione all'interno delle parentesi tonde la rendiamo ANONIMA
var modulo = (function() {
let DEFAULTS = {
x: 10,
y: 20
};
return {
z: function(){
// abbiamo bisogno di passare degli arguments ed indicare la proprietà da mostrare
let opzioni = arguments[0] || '' ; //controllo sui parametri (se c'è o non c'è nulla), se non c'è riporta "";
let parametriX = opzioni.x || DEFAULTS.x;
let parametriY = opzioni.y || DEFAULTS.y;
// in questo modo andiamo a richiamare il contenuto del modulo
// lavorando su return, dò la possibilità di mostrare i dati inseriti, una volta che la funzione è stata invocata
return(parametriX + parametriY);
}
}
})();
console.log(modulo.z()); // restituisce 30 (somma tra x e y di DEFAULTS)
console.log(modulo.z({x:40})); // restituisce 60 (somma tra x (40) e y di DEFAULTS)
Esempio di Moduli in Javascript
Mario acquista una villetta che costa 325560€ versa subito 135000€ e il resto viene diviso in 96 Rate, quanto dovrà pagare Mario?.
testo di esempio .testo di esempio .testo di esempio .testo di esempio .testo di esempio .
testo di esempio .testo di esempio .testo di esempio .testo di esempio .testo di esempio .
testo di esempio .testo di esempio .testo di esempio .testo di esempio .testo di esempio .
testo di esempio .testo di esempio .testo di esempio .testo di esempio .testo di esempio .
Codice della lezione: I Moduli in Javascript
/* I moduli sono porzioni di codice riutilizzabili.
Come ad esempio può essere un slider, un contatore ecc
protezione sui nomi delle variabili, che diventano riservati.
*/
// funzione anonima » Protezione delle variabili
const spedizione = (function() {
const italia = 10;
return {
italia: function() {
return(italia);
}
};
})();
document.getElementById('txtID1').innerHTML = spedizione.italia();
// come passare un parametro
const viaggio = (function(){
const DEFAULTS = {
automobile: 10
};
return {
strada: function() {
const opzioni = arguments[0] || '';
const parametro = opzioni.automobile || DEFAULTS.automobile;
return(parametro);
}
}
})();
document.getElementById('txtID2').innerHTML = (viaggio.strada({automobile: 50}) + ' km/h');
document.getElementById('txtID3').innerHTML = viaggio.strada() + ' km/h';
// altro esempio
const caramelle = (function() {
const DEFAULTS = {
quantita : 1,
euro : 1
};
return {
prezzo : function() {
const opzioni = arguments[0] || '';
const parametro = opzioni.quantita || DEFAULTS.quantita;
const euro = opzioni.euro || DEFAULTS.euro;
const costo = euro * parametro;
return(costo);
}
}
})();
document.getElementById('txtID4').innerHTML = caramelle.prezzo();
document.getElementById('txtID5').innerHTML = caramelle.prezzo({quantita:10,euro:5});