Программа викторины с функциями и условиями JavaScript

У меня есть несколько вопросов о логике программы, которая представляет собой викторину.

var score = 0;

var questions = [
    ["How many moons does the Earth have?", 1],
    ["How many moons does Saturn have?", 31],
    ["How many moons does Venus have?", 0]
];

for (i=0; i<questions.length; i++)
{
    askQuestion(questions[i]);
}

function askQuestion(inquiry)
{
    var answer = prompt(inquiry[0]);

    if (answer == inquiry[1]){
        alert("Correct!");
        score++;
    }else{
        alert("Sorry. The correct answer is " + question[1]);
    }
}

Я понимаю первые три утверждения (но с радостью буду исправлен).

Первый оператор инициализирует объявленную глобальную переменную числовым литералом 0, поскольку именно так должна начинаться оценка викторины.

Второй оператор создает многомерный массив, каждый элемент которого имеет вопрос и соответствующий ответ.

Третий оператор - это цикл for, который циклически перебирает каждый вопрос (значение индекса) массива, объявленного «questions».

Четвертое утверждение - вот где у меня возникли небольшие проблемы с пониманием. И я надеялся, что прекрасные люди здесь могут внести некоторую ясность.

Вот то, что, как мне кажется, я понимаю. Пожалуйста, поправьте меня, если я полностью в левой части понимания основной логики. (1) Четвертая инструкция создает параметр (запрос). (2) Локальная переменная «answer» объявляется со значением, которое вводится пользователем через диалоговое окно. Аргумент «запрос [0]» соответствует каждому вопросу в массиве. (3) Каждому ответу соответствует значение «запрос [1]».

Я, наверное, ошибаюсь в своем предположении. Если да, то дайте мне некоторую ясность, потому что это для меня головная боль.

Спасибо!! :)

«Четвертая инструкция создает параметр (запрос).» - самое главное, четвертый оператор создает функция с именем askQuestion. Эта функция что-то делает (код в теле), используя объявленные параметры.

Bergi 03.12.2018 09:44
"The correct answer is " + question[1] должен быть "The correct answer is " + inquiry[1]
Bergi 03.12.2018 09:45

Под «четвертое заявление» вы ссылаетесь на тот, который начинается с function, или на инструкцию в теле цикла (askQuestion(questions[i]);)?

Bergi 03.12.2018 09:46

Что меня сбивало с толку, так это вложенный оператор IF в четвертом операторе, потому что сначала казалось, что он обращается только к первому значению индекса многомерного массива, но он не может просто обращаться к этому значению индекса, поскольку Оператор инкремента дает балл за правильный вопрос. Прав ли я в этом понимании?

Xyce Bedet 03.12.2018 09:47

Под четвертым утверждением я имею в виду саму функцию, а не вызов функции в цикле for.

Xyce Bedet 03.12.2018 09:48

Кстати, эта викторина работает так, как есть. Он проходит через каждый вопрос, выставляя балл (добавляя 1 к значению глобальной переменной «score» с помощью оператора увеличения во вложенном операторе if в функции).

Xyce Bedet 03.12.2018 09:50

Внутри функции вы не знаете, что такое inquiry. Все, что можно сказать, это то, что он выглядит как двухэлементный массив. Только из вызова askQuestion(questions[i]); вы можете увидеть, что он передает один из внутренних массивов от questions функции в качестве параметра inquiry.

Bergi 03.12.2018 10:27
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
7
55
1

Ответы 1

Итак, никто не знает, к чему относятся запрос [0] и запрос [1]?

Я думаю, что запрос [0] относится к каждому вопросу, а запрос [1] относится к каждому ответу. Я просто не знаю наверняка.

Простите за шишку.

Спасибо.

Другие вопросы по теме