Débutant codeur étudiant,Briser un code JavaScript en fonctions
ici et je développe un programme qui peut alerter programme une fois que vous tapez le montant d'argent que vous lui donnez calculera la pointe, et de l'impôt pour obtenir le montant total que l'utilisateur possède. J'ai le code de base vers le bas et le diviser en fonctions, mais quand je mets un nombre, il montre comme non identifié.
Voici mon code:
const TAXRATE=.095
const TIPRATE=.2
function foodCharge (foodCharge) {
return parseFloat(prompt("please enter the amount"));
}
foodCharge();
function taxAmount (foodCharge,TAXRATE) {
return parseFloat(foodCharge*TAXRATE);
}
taxAmount();
function subAmount (foodCharge,taxAmount) {
return parseFloat(foodCharge+taxAmount);
}
subAmount();
function tipAmount (TAXRATE,subAmount) {
return parseFloat (TAXRATE*subAmount);
}
tipAmount();
function grandTotal (foodCharge, taxAmount, tipAmount) {
return grandTotal=parseFloat(foodCharge+taxAmount+tipAmount)
}
grandTotal();
function finalCost(foodCharge,taxAmount, tipAmount, grandTotal) {
alert ("Meal cost: "+ foodCharge + " \nTax: " + taxAmount + " \nTip: " +
tipAmount +" \nGrand total: " + grandTotal);
}
finalCost();
Toutes vos fonctions attendent de recevoir des arguments, mais quand vous les appelez vous ne passez pas d'arguments. De même, toutes les fonctions sauf la dernière renvoient des valeurs que vous ignorez. Ainsi, lorsque vous appelez la fonction 'finalCost()' à la fin, vous ne lui transmettez aucun argument, donc 'foodCharge',' taxAmount', etc. sont tous indéfinis. Notez que vous avez trop utilisé 'parseFloat()' - le seul endroit dont vous avez besoin est quand la valeur est une chaîne, c'est-à-dire, pour la valeur que l'utilisateur entre. En passant, j'ai formaté le code dans votre question pour le rendre plus lisible (changements d'espaces, pas de changement au code réel). – nnnnnn
s'il vous plaît modifier votre poste sujet à être plus descriptif du problème et souligner ce qui est spécifiquement votre problème plutôt que de simplement dire "je ne peux pas comprendre le problème", je vous invite à lire les lignes directrices – shafeen
@shafeen - Pourquoi modifieriez-vous pour supprimer l'extrait de démonstration? En outre, l'OP a indiqué quel était le problème, c'est-à-dire que les résultats montraient "indéfini" - comme cela était apparent lors de l'exécution de l'extrait que vous avez supprimé. – nnnnnn