繁体   English   中英

2 个函数如何在 JavaScript 中共享公共变量

[英]how can 2 function share common variable in JavaScript

    var ques=["Qno 1", "Qno 2","Qno 3","Qno 4","Qno 5","Qno 6","Qno 7","Qno 8","Qno 9","Qno 10"];
var ans  =[1,2,3,4,5,6, 7,8,9,10];
function random()
{
  var qno=Math.floor((Math.random() * 10) );
  return qno;
}

function validate()//here need help
{
  var Rans=document.getElementById("numb").value;
  if (Rans == ans[qno])
     alert("validated!!!");
  else 
     alert("Not a valid entry.. declined!!!");
}
function execution()
{
  var x = document.getElementById("myDIV");
  if (x.style.display === "none") { x.style.display = "block";} 
  else {x.style.display = "none";}
  
  var qno1=random(); 
  document.getElementById("demo").innerHTML = ques[qno1];
  
  var qno2=random(); 
  if(qno1==qno2)
    qno2=random();
   document.getElementById("demos").innerHTML = ques[qno2];
}

在上面的代码中,我试图生成随机问题。 这只是我代码的 javascript 部分。 从第一个开始,两个数组分别是问题和溶胶。 代码正在成功执行,但我在验证部分有问题。 为了验证,我想在按下 HTML 按钮标签中的提交按钮时将 qno1 值传递给验证函数。 请帮助我执行此代码,以及我们如何在 2 个函数之间共享公共变量。

您需要将 vars 范围限定在您的函数之外,以便您可以在两者中使用它们。

        var ques=["Qno 1", "Qno 2","Qno 3","Qno 4","Qno 5","Qno 6","Qno 7","Qno 8","Qno 9","Qno 10"];
var ans  =[1,2,3,4,5,6, 7,8,9,10];

//move scope of vars
var qno1

function random()
{
  var qno=Math.floor((Math.random() * 10) );
  return qno;
}

function validate (qno)// use it here by passing it in
{
  var Rans=document.getElementById("numb").value;
  if (Rans == ans[qno])
     alert("validated!!!");
  else 
     alert("Not a valid entry.. declined!!!");
}
function execution()
{
  var x = document.getElementById("myDIV");
  if (x.style.display === "none") { x.style.display = "block";} 
  else {x.style.display = "none";}
  
// set here
  qno1=random(); 
  document.getElementById("demo").innerHTML = ques[qno1];
  
  var qno2=random(); 
  if(qno1==qno2)
    qno2=random();
   document.getElementById("demos").innerHTML = ques[qno2];
}

// call it wherever
validate(qno1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM