Home » Javascript » prototype function in javascript returns NaN [on hold]

prototype function in javascript returns NaN [on hold]

Posted by: admin August 19, 2018 Leave a comment

Questions:

I have this code right here that return NaN for some reasons but when I console.log parts of the return it returns an actual number. I tried Math.floor, parseInt, I don’t know what to do…

nouveauVoyage.prototype.prixGlobalParPersonne = function(){
    var frais=0;
    if (this.voiturePlaces == 0 && this.hotelPlaces == 0){
        frais=0;
    }else if(this.voiturePlaces != 0 && this.hotelPlaces != 0){
        frais=40;
    }else if((this.voiturePlaces != 0 && this.hotelPlaces == 0) || (this.voiturePlaces == 0 && this.hotelPlaces != 0)){
        frais=20;
    }
    return ((this.nbrAdultes * this.prixParPersonne) + ((this.prixParPersonne * this.nbEnfants) * 0,8) + frais) / (this.nbAdultes + this.nbEnfants);
};

for more details here’s my constructor

function nouveauVoyage(type,destination,nbrAdultes,nbrEnfants,prixParPersonne,prixParGroupe,placesVoitures,placesHotel){
        this.id = (new Date().valueOf() + " ").substring(6, 13);
        this.type = type;
        this.destination = destination;
        this.nbrAdultes = parseInt(nbrAdultes);
        this.nbrEnfants = parseInt(nbrEnfants);
        this.prixParPersonne = parseInt(prixParPersonne);
        this.prixParGroupe = parseInt(prixParGroupe);
        this.voiturePlaces = parseInt(placesVoitures);
        this.hotelPlaces = parseInt(placesHotel);
    }

and what I pass to it

var type = $("select").first().val();
var destination = $("input:radio:checked").val();
var nbAdultes = $("input[type=number]").eq(1).val();
var nbEnfants = $("input[type=number]").eq(2).val();
var prixParPersonne = $("input[type=text]").first().val();
var prixParGroupe = $("input[type=text]").last().val()
prixParPersonne = prixParPersonne.substring(0, prixParPersonne.length-1);
prixParGroupe = prixParGroupe.substring(0, prixParGroupe.length-1);
var placesVoiture = $("input[type=number").eq(-2).val();
var placesHotel = $("input[type=number]").last().val();
var voyage = new nouveauVoyage(type,destination,nbAdultes,nbEnfants,prixParPersonne,prixParGroupe,placesVoiture,placesHotel);
Answers: