Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在函数调用时访问数组中的对象_Javascript_Html - Fatal编程技术网

Javascript 如何在函数调用时访问数组中的对象

Javascript 如何在函数调用时访问数组中的对象,javascript,html,Javascript,Html,我创建了一个具有不同属性的对象数组,但在网页上显示对象的每个属性时遇到问题。我试过了,但我不知道问题出在哪里 我已尝试单独访问对象,但仍然无法工作请检查问题 //获取所有元素的id const intro=document.getElementById(“简介”); const continue=document.getElementById(“continue”); const name=document.getElementById(“name”).value; const-wel=doc

我创建了一个具有不同属性的对象数组,但在网页上显示对象的每个属性时遇到问题。我试过了,但我不知道问题出在哪里

我已尝试单独访问对象,但仍然无法工作请检查问题

//获取所有元素的id
const intro=document.getElementById(“简介”);
const continue=document.getElementById(“continue”);
const name=document.getElementById(“name”).value;
const-wel=document.getElementById(“wel”)
const startt=document.getElementById(“startt”);
const start=document.getElementById(“start”);
常量测验=document.getElementById(“测验”);
const question=document.getElementById(“问题”);
const qImg=document.getElementById(“qImg”);
const choiceA=document.getElementById(“A”);
const choiceB=document.getElementById(“B”);
const choiceC=document.getElementById(“C”);
const choiceD=document.getElementById(“D”);
常量计数器=document.getElementById(“计数器”);
常量计时器=document.getElementById(“计时器”);
const progress=document.getElementById(“进度”);
const scoreDiv=document.getElementById(“scoreContainer”);
//事件侦听器
continued.addEventListener('click',continueaAfterIntro);
start.addEventListener('click',startQuiz);
//变量声明
const lastQuestion=questions.length-1;
var runningQuestion=0;
var-secs=0;
var-mins=0;
var-hrs=0;
const questionTime=60;//60年代
常数量规宽度=180;//180像素
const gaugeUnit=测量宽度/问题时间;
让定时器;
分数=0;
//数组对象声明
让问题=[{
问题:“谁是尼日利亚总统?”,
choiceA:“Muhamadu Buhari”,
选择B:“奥西巴乔”,
choiceC:“奥巴桑乔”,
选择:“绿色,红色,绿色”,
更正:“A”
}, {
问题:“谁是奥约州州长?”,
choiceA:“Abiola Ajumobi”,
选择B:“Seyi makinde”,
choiceC:“阿劳阿卡拉”,
选择:“绿色,红色,绿色”,
更正:“B”
}, {
问题:“尼日利亚国旗的颜色是什么?”,
choiceA:“绿色、白色、蓝色”,
选项B:“蓝、白、绿”,
choiceC:“绿色、白色、绿色”,
选择:“绿色,红色,绿色”,
更正:“C”
}];
函数continueAfterIntro(){
intro.style.display='none';
startt.style.display='block';
wel.innerHTML=`Hi${name}`;
}
函数renderQuestion(){
设q=问题[运行问题];
question.innerHTML=“”+q.question+”

”; choiceA.innerHTML=q.choiceA; choiceB.innerHTML=q.choiceB; choiceC.innerHTML=q.choiceC; } 函数startQuiz(){ startt.style.display=“无”; quick.style.display=“block”; renderQuestion(); }

嘿,我叫阿福,你叫什么

开始测验! A. B C D
当我运行您的项目时,我得到了
参考错误

Uncaught ReferenceError: Cannot access 'questions' before initialization
这意味着您不能在初始化之前处理
问题数组。例如:

const questionsLength = questions.length;  // REFERENCE ERROR.
const questions = ['a', 'b', 'c'];
console.log(questionsLength);
在检查长度之前,先声明
问题数组

const questions = ['a', 'b', 'c'];
const questionsLength = questions.length;
console.log(questionsLenght) // Returns 3
工作示例:

//获取所有元素的id
const intro=document.getElementById(“简介”);
const continue=document.getElementById(“continue”);
const name=document.getElementById(“name”).value;
const-wel=document.getElementById(“wel”)
const startt=document.getElementById(“startt”);
const start=document.getElementById(“start”);
常量测验=document.getElementById(“测验”);
const question=document.getElementById(“问题”);
const qImg=document.getElementById(“qImg”);
const choiceA=document.getElementById(“A”);
const choiceB=document.getElementById(“B”);
const choiceC=document.getElementById(“C”);
const choiceD=document.getElementById(“D”);
常量计数器=document.getElementById(“计数器”);
常量计时器=document.getElementById(“计时器”);
const progress=document.getElementById(“进度”);
const scoreDiv=document.getElementById(“scoreContainer”);
//事件侦听器
continued.addEventListener('click',continueaAfterIntro);
start.addEventListener('click',startQuiz);
//数组对象声明
让问题=[
{
问题:“谁是尼日利亚总统?”,
choiceA:“Muhamadu Buhari”,
选择B:“奥西巴乔”,
choiceC:“奥巴桑乔”,
选择:“绿色,红色,绿色”,
更正:“A”
},{
问题:“谁是奥约州州长?”,
choiceA:“Abiola Ajumobi”,
选择B:“Seyi makinde”,
choiceC:“阿劳阿卡拉”,
选择:“绿色,红色,绿色”,
更正:“B”
},{
问题:“尼日利亚国旗的颜色是什么?”,
choiceA:“绿色、白色、蓝色”,
选项B:“蓝、白、绿”,
choiceC:“绿色、白色、绿色”,
选择:“绿色,红色,绿色”,
更正:“C”
}
];
//变量声明
const lastQuestion=questions.length-1;
var runningQuestion=0;
var-secs=0;
var-mins=0;
var-hrs=0;
const questionTime=60;//60年代
常数量规宽度=180;//180像素
const gaugeUnit=测量宽度/问题时间;
让定时器;
分数=0;
函数continueAfterIntro(){
intro.style.display='none';
startt.style.display='block';
wel.innerHTML=`Hi${name}`;
}
函数renderQuestion(){
设q=问题[运行问题];
question.innerHTML=“”+q.question+”

”; choiceA.innerHTML=q.choiceA; choiceB.innerHTML=q.choiceB; choiceC.innerHTML=q.choiceC; } 函数startQuiz(){ startt.style.display=“无”; quick.style.display=“block”; renderQuestion(); }

文件
嘿,我叫阿福,你叫什么