Michael
Michael

Reputation: 108

JavaScript undefined error in VS

Taking a online course at udemy on JavaScript. Trying to code what I learned. I'm getting a undefined error. Visual Studio 2012 Pro saying the code is find but when I run the code I get the error.

        <script type="text/javascript">
        var numericalGrade = 82;
        var letterGrade;
        function myResaults() {
            document.write("Your score is " + numericalGrade + "%. Your grade will be a " + letterGrade + ".<br />");
        }

        if (numericalGrade >= 90) {
            letterGrade = "A";
            document.write(myResaults() + " Excellent, you passed this course with flying colors...");
        }

        else if (numericalGrade >= 80) {
            letterGrade = "B";
            document.write(myResaults() + " Excellent, you passed this course with a great grade..");

        }
        else if (numericalGrade >= 70) {
            letterGrade = "C";
            document.write(myResaults() + " Congratulations, you passed this course...");

        }
        else if (numericalGrade >= 60) {
            letterGrade = "D";
            document.write(myResaults() + " You revived a grade that will not permit you to pass this course. You can retake this course at a later date.");

        }
        else {
            letterGrade = "F";
            document.write(myResaults() + "You failed this course. You can retake this course at a later date.");

        }
    </script>

So what am I doing wrong. I'm very new at JavaScript coding.

Upvotes: 0

Views: 69

Answers (1)

j08691
j08691

Reputation: 207899

Your function needs to return a value, but since it wasn't you were getting undefined instead.

Change:

function myResaults() {
    document.write("Your score is " + numericalGrade + "%. Your grade will be a " + letterGrade + ".<br />");
}

to

function myResaults() {
    return "Your score is " + numericalGrade + "%. Your grade will be a " + letterGrade + ".<br />";
}

Upvotes: 3

Related Questions