Javascript 我试着做一个小测验,每次问题混淆时,数组中的数字都按顺序与函数对应

Javascript 我试着做一个小测验,每次问题混淆时,数组中的数字都按顺序与函数对应,javascript,Javascript,开始 所以有一个数字数组。然后它从这些数字中选择一个随机顺序。这些数字与函数对应,函数是问题。有没有办法做到这一点。我才十岁,刚刚开始使用javascript,所以请帮助我。提前谢谢 好的,首先让我们思考一下您的问题,然后我们将开始讨论一些代码 首先,想到函数对应的数字数组真是太棒了!在这种映射中,数组中的数字对应于表示问题的函数,这类似于在语言的保护下发生的许多事情!但是,在本例中,我们不需要它,因为我们可以用函数指针生成一个数组,这是一种内置的方法,可以实现您所描述的功能 那么,让我们做一些

开始

所以有一个数字数组。然后它从这些数字中选择一个随机顺序。这些数字与函数对应,函数是问题。有没有办法做到这一点。我才十岁,刚刚开始使用javascript,所以请帮助我。提前谢谢

好的,首先让我们思考一下您的问题,然后我们将开始讨论一些代码

首先,想到函数对应的数字数组真是太棒了!在这种映射中,数组中的数字对应于表示问题的函数,这类似于在语言的保护下发生的许多事情!但是,在本例中,我们不需要它,因为我们可以用函数指针生成一个数组,这是一种内置的方法,可以实现您所描述的功能

那么,让我们做一些示例问题:

function Question1() { 
     window.alert("What is your favorite color?"); 
}

function Question2() { 
     window.alert("What is your favorite animal?"); 
}
现在我们可以这样调用我们的问题:
Question1()
,并输出特定的问题。请注意,目前这并不涉及获取响应,只是问问题,以说明一些数组用法

现在我们如何从数组中调用它们

a = [Question1, Question2];
a[0](); /* This calls question 1 */
现在我们可以使用rand来选择一个随机问题(使用Mozilla的helper函数):


就这样!另外,我没有其他评论员使用eval来解决这个问题,这肯定是有效的,但由于它的漏洞,通常不是好的做法。如果你朝那个方向走,.

很好的介绍!可能的后续行动:声明一个
questions
数组,其元素为问题文本,并声明一个通用
askRandomQuestion(questions)
函数,该函数从提供的问题文本数组中选择一个随机元素,并通过
警报
询问该问题,我认为OP指的是自然数1…n的随机排列,并按照排列顺序问所有这些问题,以避免重复问题。如果你有时间的话,你可能也想谈一谈这个:)谢谢你这么做!!!:-)
function getRandomInt(min, max) {
   min = Math.ceil(min);
   max = Math.floor(max);
   return Math.floor(Math.random() * (max - min)) + min;
}

index = getRandomInt(0, a.length);
a[index](); /* Calls a random question */