如何解决我如何允许函数访问循环中的所有变量并使用 javascript 执行它们?
我是 JavaScript 的新手。
循环显示所有变量,但函数仅在我单击检查按钮时运行并显示变量的最后一个值。
我的脚本如下:
<!DOCTYPE html>
<html>
<head>
<title>Multiplication Drill</title>
</head>
<body>
<p id="demo"></p>
<button onclick="myFunction()">check </button>
<p id="demo1"> </p>
<script>
var text = "";
var i;
for (i = 0; i <3; i++) {
var x = Math.floor(Math.random()*10);
var y = Math.floor(Math.random()*10);
text += x+ " " + "x" + " "+ y + " " + "="+"<br>";
function myFunction(){
var z = x*y;
document.getElementById("demo1").innerHTML = z;
}
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
我想这与将 x 和 y 包装成数组或对象有关。我尝试过使用大括号和方括号,我尝试了很多方法。
如何允许函数访问循环中的所有变量并对其进行操作?
非常感谢您的时间和关注。
解决方法
你是在尝试这样做吗?
编辑:我看到了您在评论中添加的代码,所以我复制了 html,按几次 Enter 使其缩进(而不是连续的一行,dw 网站这样做是为了什么您粘贴了),现在 onclick
是函数,在 while 循环的范围中创建函数是错误的。在这种情况下,函数是你想做的所有事情,所以我让函数围绕解决方案,瞧
function myFunction(){
var text = "";
for (var i = 0; i <3; i++) {
var x = Math.floor(Math.random()*10);
var y = Math.floor(Math.random()*10);
text += x+ " " + "x" + " "+ y + " " + "="+" "+x*y+"\n";
}
document.getElementById("demo").innerText=text;
}
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<p id="demo"> </p>
<button onclick ="myFunction()"> check</button>
<p id="demo1"> </p>
</body>
</html>
对于原始复制粘贴,请看下面
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<p id="demo"> </p>
<button onclick ="myFunction()"> check</button>
<p id="demo1"> </p>
<script>
function myFunction(){
var text = "";
for (var i = 0; i <3; i++) {
var x = Math.floor(Math.random()*10);
var y = Math.floor(Math.random()*10);
text += x+ " " + "x" + " "+ y + " " + "="+" "+x*y+"\n";
}
document.getElementById("demo").innerText=text;
}
</script>
</body>
</html>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。