Javascript 为什么不';答案不会出现在测验的末尾吗?
(不是我的代码) 我一直在浏览一些类似于Pottermore分类帽测验的代码,因为我正在尝试创建自己的代码,我遇到了以下代码: 妮可写的。它看起来很棒,但在最后一个问题之后,答案似乎不会弹出,尽管代码是用JavaScript编写的,用于将分数制成表格并生成一个“房子”。有人能告诉我它出了什么问题吗?谢谢大家! (我觉得这可能与最后一部分有关Javascript 为什么不';答案不会出现在测验的末尾吗?,javascript,html,css,Javascript,Html,Css,(不是我的代码) 我一直在浏览一些类似于Pottermore分类帽测验的代码,因为我正在尝试创建自己的代码,我遇到了以下代码: 妮可写的。它看起来很棒,但在最后一个问题之后,答案似乎不会弹出,尽管代码是用JavaScript编写的,用于将分数制成表格并生成一个“房子”。有人能告诉我它出了什么问题吗?谢谢大家! (我觉得这可能与最后一部分有关 function progressQuiz(){ loadQuestion(); loadAnswers(); } $(document).re
function progressQuiz(){
loadQuestion();
loadAnswers();
}
$(document).ready(function(){
progressQuiz();
})
但我不确定情况是否如此,以及如何修复它)正如沙纳瓦兹·霍桑(Shahnawaz Hossan)在评论中提到的那样,JavaScript中存在几个问题。您可以使用浏览器的web控制台诊断错误 在测验结束时(当您单击最后一个问题的答案时),您将在web控制台中看到如下内容:
Uncaught ReferenceError: person is not defined
at addAnswers
at logAnswer
在addAnswers
函数中,声明一个名为“person”的变量,并用空对象初始化它:
函数addAnswers(){
var person={}//add before开关语句
// ...
}
对象文字是必需的,因为house
属性稍后会在函数中添加到它(否则会出现TypeError
)。您还想退回它:
函数addAnswers(){
// ...
return person.house//添加到函数末尾
}
如果您再次完成测验,将出现新错误:
Uncaught ReferenceError: houseName is not defined
at logAnswer
在logAnswer
函数中,声明一个名为“houseName”的变量,并分配调用addAnswers
函数的结果:
功能日志应答(一){
// ...
如果(当前
现在,如果您完成了测验,您将看到测验结果:)
请注意,以上只是一种方法,不包括任何优化。缺少很多东西,例如在
addAnswers()
函数中没有名为person
的对象,也在logAnswer()中
函数没有名为houseName
的变量实际分配给questionArea.innerHTML
。仔细检查代码,确保所有内容都已声明。你能分享你从哪里得到的原始代码吗?