Schermata 2016-09-02 alle 00.23.00

Speed-Up ‘Javascript Modulare’: conta Calorie con Musica?

Utilizziamo l’approccio modulare in Javascript, in commento vi è la formula utilizzata per il calcolo all’interno delle singole function.

//66,4730 + (13,7156 * W) + (5,033* H) – (6,775 * A)
//Tratto da http:www.my-personaltrainer.it/calcolatore-calorico-giornaliero.htm
function CalcolaCalorie(){
CalcolaCalorie.risultato = null;
}

//calcolo finale
CalcolaCalorie.faiAddizioneFinale = function (calcolo1, calcolo2, calcolo3){
return 66,4730 + calcolo1 + calcolo2 + calcolo3;
}

//prima moltiplicazione
CalcolaCalorie.faiPrimoCalcolo = function(W) {
return 13,7156 * W;
}

//seconda moltiplicazione
CalcolaCalorie.faiSecondoCalcolo = function(H) {
return 5,033 * H;
}

//terza moltiplicazione
CalcolaCalorie.faiTerzoCalcolo = function(A) {
return 6,775 * A;
}

//passaggio dei valori di testing
var primo = CalcolaCalorie.faiPrimoCalcolo(100);
var secondo = CalcolaCalorie.faiSecondoCalcolo(30);
var terzo = CalcolaCalorie.faiTerzoCalcolo(30);
CalcolaCalorie.risultato = CalcolaCalorie.faiAddizioneFinale(primo,secondo,terzo);
console.log(“il risultato è:” + CalcolaCalorie.risultato);

Adesso la seconda parte, implementiamo un’ulteriore function modulare che, in base alla musica passata, aumenterà o diminuirà il valore.

//function generale PesoMusica()
function PesoMusica() {
PesoMusica.addPeso = null;
}

//generare nuovi valori in base al genere musicale
PesoMusica.reggae = function(calorie) {
return calorie – 100;
}

PesoMusica.pop = function(calorie) {
return calorie + 50;
}
PesoMusica.rock = function(calorie) {
return calorie + 150;
}
PesoMusica.metal = function(calorie) {
return calorie + 75;
}

..infine, agganciare quello appena fatto per ogni singolo calcolo
CalcolaCalorie.faiPrimoCalcolo = function(W) {
PesoMusica.reggae(W);
return 13,7156 * W;
}

 

Schermata 2016-09-02 alle 00.23.00


Tagged:


'Speed-Up ‘Javascript Modulare’: conta Calorie con Musica?' have no comments

Be the first to comment this post!

Would you like to share your thoughts?

Your email address will not be published.