Listing 13.16 - Using an IIFE with the quiz app
        JS Bin
        
var quiz = (function () {
    var qIndex = 0;
    var questions = [
        { question: "7 x 8", answer: "56" },
        { question: "12 x 12", answer: "144" },
        { question: "5 x 6", answer: "30" },
        { question: "9 x 3", answer: "27" }
    ];
    var getQuestion = function () {
        qIndex = between(0, questions.length - 1);
        return questions[qIndex].question;
    };
    var checkAnswer = function (userAnswer) {
        if (userAnswer === questions[qIndex].answer) {
            return "Correct!";
        } else {
            return "No, the answer is " + questions[qIndex].answer;
        }
    };
    return {
        quizMe: getQuestion,
        submit: checkAnswer
    };
})();
        
     
    
        Listing 13.16 - Using an IIFE with the quiz app - Tasks 4, 5 & 6
        
            - Add a hint property for each question.
- Define a getHint function that returns the hint for the current question.
- Add a helpMe property to the public interface, the object returned by getQuiz. The getHint function should be assigned to the helpMe property.
var quiz = (function () {
    var qIndex = 0;
    var questions = [
        {
            question: "7 x 8",
            answer: "56",
            hint: "7 x 4 = 28"
        },
        {
            question: "12 x 12",
            answer: "144",
            hint: "10 x 12 = 120"
        },
        {
            question: "5 x 6",
            answer: "30",
            hint: "10 x 6 = 60"
        },
        {
            question: "9 x 3",
            answer: "27",
            hint: "10 x 3 = 30"
        }
    ];
    var getQuestion = function () {
        qIndex = between(0, questions.length - 1);
        return questions[qIndex].question;
    };
    var checkAnswer = function (userAnswer) {
        if (userAnswer === questions[qIndex].answer) {
            return "Correct!";
        } else {
            return "No, the answer is " + questions[qIndex].answer;
        }
    };
    var getHint = function () {
        return questions[qIndex].hint;
    };
    return {
        quizMe: getQuestion,
        submit: checkAnswer,
        helpMe: getHint
    };
})();