2017-12-15 3 views
0

Ich versuche, einen Wert zur Konsole durch diese Funktion zurückzugeben. Aber die Funktion gibt nur "undefined" in der Konsole der zugehörigen HTML-Datei zurück.JavaScript-Funktion zurückgegeben undefined in der Konsole

function calculateFoodOrder(numAnimals, avgFood) { 
 
    var animals = Number(numAnimals); 
 
    var food = Number(avgFood); 
 
    if (isNaN(animals)|| animals<0) { 
 
    return null; 
 
    }else if(isNaN(food)|| food<0){ 
 
    return null; 
 
    }else{ 
 
    var total= animals*food; 
 
    return total;}}

+0

Was sind die Eingangsvariablen Sie 'numAnimals' verwenden & 'avgFood'? –

+1

Das funktioniert! Aber 'isNan' sollte' isNaN' sein –

Antwort

0

Hier ist eine bessere Möglichkeit, diese Funktion auszuführen:

function calculateFoodOrder(numAnimals, avgFood) { 
    var total = numAnimals * avgFood; 
    return isNaN(total) || total < 0 ? false : total; 
} 
console.log(calculateFoodOrder(1, 10)); 

Arbeitsbeispiel: https://jsfiddle.net/L6yvmy1y/2/

+0

anstelle von 'isNan' würde ich vorschlagen '(total! == total)' '' NaN' zu erkennen. Nur für ein "NaN" gilt die oben genannte Bedingung. Auch 'isNan' ist nicht zuverlässig, weil' isNaN ("Varun") 'wird true – varunsinghal65

+0

Um no ... Ich glaube nicht, dass Sie verstehen, wie die Funktion funktioniert. Vielleicht möchten Sie es erneut ansehen oder auf das Beispiel klicken. Du scheinst ein bisschen verwirrt zu sein. –

+0

Wenn Sie nach Funktion isNan() meinen, überprüfen Sie dies: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN. Am Ende erwähnt klar, warum ist Nan() nicht zuverlässig – varunsinghal65

Verwandte Themen