【问题标题】:I need help understanding why my javascript code is not working in one scenario vs another我需要帮助了解为什么我的 javascript 代码在一种情况下与另一种情况下不起作用
【发布时间】:2019-04-13 20:33:34
【问题描述】:
//var display = document.getElementById("display"); 
//var question1 = document.quiz.question1.value;                  
//var question2 = document.quiz.question2.value;   
//var question3 = document.quiz.question3.value;   
//var submit = document.getElementById("submit");          
//var correct = 0; 



function check() {   

var display = document.getElementById("display"); 
var question1 = document.quiz.question1.value;                  
var question2 = document.quiz.question2.value;   
var question3 = document.quiz.question3.value;   
var submit = document.getElementById("submit");          
var correct = 0;



if (question1 == "Asmara" || question1 == "asmara") {           
    correct++;     
}  

if(question2 == "Lisbon") {        
    correct++;   
}

if(question3 == "Trump") { 
    correct++;  
}

alert("You got " + correct + "/3 correct!");        

}

这是我的代码,每当我在函数内使用变量运行它时,它都可以工作,但是当我使用外部变量(全局)运行它时,它似乎不起作用。我是 javascript 新手,不胜感激任何建议!另请注意,我使用事件从 html 页面调用此函数。

【问题讨论】:

  • 我希望您的页面尚未完全加载以允许您在函数之外使用 var(但在触发事件时元素将准备就绪)。有办法解决这个问题,但这是最可能的原因。将代码/对代码的调用添加到

标签: javascript function scope


【解决方案1】:
var display = document.getElementById("display"); 
var question1 = document.quiz.question1.value;                  
var question2 = document.quiz.question2.value;   
var question3 = document.quiz.question3.value;   
var submit = document.getElementById("submit");          
var correct = 0; 



function check(display, question1, question2, question3, submit, correct) {   
if (question1 == "Asmara" || question1 == "asmara") {           
    correct++;     
}  

if(question2 == "Lisbon") {        
    correct++;   
}

if(question3 == "Trump") { 
    correct++;  
}

alert("You got " + correct + "/3 correct!");      
}  

如果我没记错的话,您需要将变量作为参数传递给函数。因此,无论您在哪里调用该函数,请将您的函数调用更改为

check(display, question1, question2, question3, submit, correct)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-30
    • 2019-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-18
    • 2013-11-01
    相关资源
    最近更新 更多