【问题标题】:JavaScript - Only first of two functions executeJavaScript - 仅执行两个函数中的第一个
【发布时间】:2017-02-06 04:46:14
【问题描述】:

我是 JavaScript 新手。我通过提示输入了四个数字。在这四个数字中,我希望打印出最大值和打印出最小值。我有一个计算最大值的函数和一个计算最小值的函数。我唯一能打印出来的是最大数量。在最大数量的功能完成后,最小数量的功能似乎没有运行。任何关于为什么这不起作用的澄清将不胜感激。

这是我目前拥有的:

window.onload = max4;

var first_number = prompt("Please enter your first number", "");
var second_number = prompt("Please enter your second number", "");
var third_number = prompt("Please enter your third number", "");
var fourth_number = prompt("Please enter your fourth number", "");

function max4() {
  document.getElementById("max_result");
  max_result.innerHTML = "The larger of the four numbers you entered is: " + Math.max(first_number, second_number, third_number, fourth_number);
}

function min4() {
  document.getElementById("min_result");
  min_result.innerHTML = "The lowest of the four numbers you entered is: " + Math.min(first_number, second_number, third_number, fourth_number);
}
<!doctype html>
<html lang="en">

<head>
  <meta charset="utf-8" />
  <title>JavaScript Test Project</title>
  <script src="min_max_numbers.js"></script>
</head>

<body>
  <h3>Largest and Smallest</h3>
  <h5 id="max_result"></h5>
  <h5 id="min_result"></h5>
</body>

</html>

谢谢

【问题讨论】:

  • 重复使用 ID (max_result) 无效。
  • 它不会执行min4,因为在窗口加载中你只调用了函数max4,但你没有提到任何关于min4的地方来执行
  • max4 被调用。 min4 不是。

标签: javascript function innerhtml prompt


【解决方案1】:

你永远不会调用函数min4,你可以在提示后调用它:

var first_number = prompt("Please enter your first number", "");
var second_number = prompt("Please enter your second number", "");
var third_number = prompt("Please enter your third number", "");
var fourth_number = prompt("Please enter your fourth number", "");

max4(); //invoke max4 function
min4(); //invoke min4 function

function max4() {
  var max_result = document.getElementById("max_result");
  max_result.innerHTML = "The larger of the four numbers you entered is: " + Math.max(first_number, second_number, third_number, fourth_number);
}

function min4() {
  var min_result = document.getElementById("min_result");
  min_result.innerHTML = "The lowest of the four numbers you entered is: " + Math.min(first_number, second_number, third_number, fourth_number);
}

【讨论】:

  • 附带说明 - 您也永远不会定义 max_resultmin_result
  • DOM 尚未加载,因此无论如何它都不会获得 ID。我怀疑这种方法会起作用@hackerrdave
【解决方案2】:

您好,您需要调用window.onload中的两个函数

按如下方式完成。重构你的JS文件如下

window.onload = func1;

var first_number = prompt("Please enter your first number", "");
var second_number = prompt("Please enter your second number", "");
var third_number = prompt("Please enter your third number", "");
var fourth_number = prompt("Please enter your fourth number", "");

function max4(){
    document.getElementById("max_result").innerHTML = "The larger of the four numbers you entered is: " + Math.max(first_number, second_number, third_number, fourth_number);
}

function min4(){
    document.getElementById("min_result").innerHTML = "The lowest of the four numbers you entered is: " + Math.min(first_number, second_number, third_number, fourth_number);
}

function func1() {
    max4();
    min4();
}

【讨论】:

    猜你喜欢
    • 2020-02-07
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多