我是 JavaScript 新手,决定创建自己的 JS 测验。
这是我目前所拥有的:
<script type="text/javascript">
score = 0;
var questions = [['whats 2 + 2' , '4'] , ['whats 3 * 3' , 9] , ['whats 2 * 7' , 14] ];
function askQ(ans){
var answer =prompt (questions[i] , '');
if(answer == questions[1]){
score++;
alert('Yahooo , ur right');
} else{
alert('Brush up ur GK');
}
}
for (var i = 0; i < questions.length ; i++) {
askQ(questions[i]);
};
</script>
问题是当问题“提示”到用户屏幕时,答案也会同时显示,例如。对于第一个问题,这是出现的内容:
“什么是 2+2,4”.. 现在你明白了,“4”就是答案
我确信为了不显示 4 我需要做一些不同的事情,所以我浏览了一些在线代码片段,但它太复杂了我无法理解。
这是一个jsfiddle .
最佳答案
应该是:
<script type="text/javascript">
score = 0;
var questions = [['whats 2 + 2' , '4'] , ['whats 3 * 3' , 9] , ['whats 2 * 7' , 14] ];
function askQ(ans){
var answer =prompt (ans[0] , '');
if(answer == ans[1]){
score++;
alert('Yahooo , ur right');
} else{
alert('Brush up ur GK');
}
}
for (var i = 0; i < questions.length ; i++) {
askQ(questions[i]);
};
</script>
主要区别如下: 而不是
var answer =prompt (questions[0] , '');
我做了
var answer =prompt (ans[0] , '');
因为您必须实际使用传递的参数 ans 及其第一个值。
代替
if(answer == questions[1]){
我做了
if(answer == ans[1]){
出于与上述相同的原因,但具有第二个值。
关于Javascript数组显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25270310/