javascript - 如何允许函数访问循环中的所有变量并使用 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>
推荐阅读
- webrtc - 如何检测自动播放何时被阻止?
- r - 使用 Shiny App 中的按钮删除活动标签面板
- android - 样式在 Android 中无法按预期在 TextView 上工作
- python - Jupyter Notebook:在循环期间覆盖输出单元格而不是追加输出
- spring-boot - Spring REST端点返回StreamingResponseBody:30秒后的AsyncRequestTimeoutException
- c++ - C++ 中有没有办法保存一个对象,然后重新加载它,尽管它有一个指针作为属性?
- c++ - Doxygen 关于 C++ 代码中重载运算符&= 的警告
- scala - 如何在 GraphX 中使用 2 步连接计算入度
- r - 剂量反应曲线 - 错误的 x 线间距
- php - 从另一个 URL 返回后,选择选项不会保留