<html>
<head>
<script type="text/javascript">
var score = 0;
var questions = [
['How many moons does Earth have?', 1],
['How many moons does Saturn have?',31],
['How many moons does Venus have?', 0]
];
for (var i=0; i<questions.length; i++) {
askQuestion(questions[i]);
}function askQuestion(question) {
var answer = prompt(question[0],'');
if (answer == question[1]) {
alert('Correct!');
score++;
} else {
alert('Sorry. The correct answer is ' + question[1]);
}
}
</script>
</head>
<body></body>
</html>
首先小弟理解红色部分为数组(应该是这么理解吧?),蓝色部分将其分别提取出来,可是绿色部分我就不懂了,下面是我的分析:
一共3次提取
第1次提取
questions[0]也就是How many moons does Earth have?', 1
function askQuestion(question)也就是等同于function askQuestion(How many moons does Earth have?', 1)
{ var answer = prompt(question[0],'');这个是否等同于var answer = prompt(How many moons does Earth have?', 1,'') 好吧我凌乱了,怎么有2个","呢?answer应该是取我输入的值吧,那1岂不是多余的?
if (answer == question[1])这个question[1]是应该想测试answer是否等于1,可是 question[1]应该是取How many moons does Saturn have?,31 这里面的31才对啊,因为question[1]代表取question中的第二个数组才对啊,对此我都不知道他怎么却是能对上1,
同时我和我的小伙伴都惊呆了,已经彻底崩溃分析不出第二次和第三次提取了,恳请大神能来解释一下。本人自学javascript,因此也非常辛苦,总是边练边学习,如有人肯指导,请加Q394758764,万分感谢JavaScript测试函数数组
<head>
<script type="text/javascript">
var score = 0;
var questions = [
['How many moons does Earth have?', 1],
['How many moons does Saturn have?',31],
['How many moons does Venus have?', 0]
];
for (var i=0; i<questions.length; i++) {
askQuestion(questions[i]);
}function askQuestion(question) {
var answer = prompt(question[0],'');
if (answer == question[1]) {
alert('Correct!');
score++;
} else {
alert('Sorry. The correct answer is ' + question[1]);
}
}
</script>
</head>
<body></body>
</html>
首先小弟理解红色部分为数组(应该是这么理解吧?),蓝色部分将其分别提取出来,可是绿色部分我就不懂了,下面是我的分析:
一共3次提取
第1次提取
questions[0]也就是How many moons does Earth have?', 1
function askQuestion(question)也就是等同于function askQuestion(How many moons does Earth have?', 1)
{ var answer = prompt(question[0],'');这个是否等同于var answer = prompt(How many moons does Earth have?', 1,'') 好吧我凌乱了,怎么有2个","呢?answer应该是取我输入的值吧,那1岂不是多余的?
if (answer == question[1])这个question[1]是应该想测试answer是否等于1,可是 question[1]应该是取How many moons does Saturn have?,31 这里面的31才对啊,因为question[1]代表取question中的第二个数组才对啊,对此我都不知道他怎么却是能对上1,
同时我和我的小伙伴都惊呆了,已经彻底崩溃分析不出第二次和第三次提取了,恳请大神能来解释一下。本人自学javascript,因此也非常辛苦,总是边练边学习,如有人肯指导,请加Q394758764,万分感谢JavaScript测试函数数组
function askQuestion(question) {
var answer = prompt(question[0],'');
if (answer == question[1]) {
alert('Correct!');
score++;
} else {
alert('Sorry. The correct answer is ' + question[1]);
}
}
askQuestion接受的参数是具体的某个question,因此,弹出问题应该用[0],比较答案用[1],没有问题的。
第二次['How many moons does Saturn have?',31]
第三次['How many moons does Venus have?', 0]第一次的['How many moons does Earth have?', 1]这个是questions[0]而第一次question[0]注意这里是question没有s了question[0]为'How many moons does Earth have?'
question[1]为1所以你的这句理解
{ var answer = prompt(question[0],'');这个是否等同于var answer = prompt(How many moons does Earth have?', 1,'')
是错误的
第一次['How many moons does Earth have?', 1]
第二次['How many moons does Saturn have?',31]
第三次['How many moons does Venus have?', 0]三次question[0]分别是
第一次'How many moons does Earth have?'
第二次'How many moons does Saturn have?'
第三次'How many moons does Venus have?'三次question[1]分别是
1
31
0楼主天资聪颖,一定能够理解PS这里的高手基本不会加QQ他们都是神龙见首不见尾
那个showbo版主,我观察了一段时间,很有一手
这个能不能得到他真传,就看你自己的造化了。
恩恩,非常感谢啊,是被二维数组迷糊了,那两个question也很厉害啊,辛苦了,感谢这么认真的回答。