问:因此,我遵循了讲师的笔记,并按要求打印了所有内容。但是,我真的不理解代码的这一部分:
函数 buildList (arr ) {
var listHTML = '<ol>' ; 为(VAR我= 0 ;我< ARR 。长度;我+ = 1 ){ listHTML + = '<LI>' + ARR [我] + '</ LI>' ; } listHTML + = '</ ol>' ; 返回listHTML ; }
我了解他正在使用有序列表和列表项来构建html,但是...我的困惑是为什么他使用'arr'作为参数(希望我的编程语言是正确的)然后使用arr [i]?[i]是要进入我创建的测验数组还是其他?
这是我的完整代码如下:
var quiz = [
[ '1' ,'测试最大的州是哪个?,'TEXAS' ],[ '2' ,'西尔斯大厦(Sears Tower)位于哪个城市?,“芝加哥” ],[ '3' ,'在测试生活最糟糕的州在哪里?” ,'ILLINOIS' ] ]; var answerCorrect = 0 ; var answerIncorrect = 0 ; var答案; var html ;
var 错误 = [];
函数buildList (arr ){ var listHTML = '<ol>' ; 为(VAR我= 0 ;我< ARR 。长度;我+ = 1 ){ listHTML + = '<LI>' + ARR [我] + '</ LI>' ; } listHTML + = '</ ol>' ; 返回listHTML ; }为
(我 = 0 ; 我 < 测验。长度; 我 + = 1 ) {
答案=提示('您的问题是...' +测验[我] [ 1 ] ); 回答=回答。toUpperCase (); if (答案===测验[ i ] [ 2 ] ){ answerCorrect + = 1 ; 正确的。推
(测验[ i ] [ 1 ]);
} else { answerIncorrect + = 1 ; 错了。推(测验[ i ] [ 1 ]); } } html = “您正确地获得了” + answerCorrect + “问题。” ; html + = '<h2>您正确地回答了这些问题:</ h2>' ; html + = buildList (正确); html + = '<h2>您误解了这些问题:</ h2>'
答:在ARR变量名是变量本身。将其视为占位符。传递给buildList函数的任何值都将成为arr的值。
值在这里给出。
html + = buildList (正确); // <-正确答案列表
html + = '<h2>您错误地回答了这些问题:</ h2>' ;
html + = buildList (错误); // <-错误答案列表
至于arr [i]。当buildList()获取数组并遍历它们时,arr变为正确[i]和错误[i] 。
因此,如果我要正确回答两个错误和1错误,那么它将看起来像这样。
[ “测试最大的州是哪个?, “西尔斯大厦(Sears Tower)位于哪个城市?” ] //正确的数组
[ “在测试,最糟糕的州在哪里?” ] //错误的数组
为了循环遍历一个数组,您可以像这样调用该数组的索引:
正确的[ 0 ] //“测试最大的州是什么?”
正确的[ 1 ] //“西尔斯大厦(Sears Tower)位于哪个城市?”
错误的[ 0 ] //“在测试生活最糟糕的州在哪里?”
我希望这有帮助。