Javascript中的简单平均

Simple average in Javascript

本文关键字:简单 Javascript      更新时间:2023-09-26

这看起来应该很简单,但我有点困惑:

以下是我的javascript和html:
<script>

var n, m, l, ave;

var mean = function() {
    // get input data
    n = +document.getElementById("Number one").value;
    m = +document.getElementById("Number two").value;
    l = +document.getElementById("Number two").value;
    // get the average
    ave = (n+m+l)/3;
    // output result   
    document.getElementById("ave").innerHTML = "Your average is: " + ave;}
然后html
    <label>Data one:<input type="text" id="Number one"></label>
<label>Data two:<input type="text" id="Number two"></label>
 <label>Data three:<input type="text" id="Number three"></label>
<input type="button" onclick="mean();" value="Your average">
<div id="ave"></div>

这个数学方法行不通。不知道为什么。请帮助。

编辑:谢谢大家帮我纠正愚蠢的打字错误

复制粘贴错误。你读了两遍《二号》

顺便说一下,在id中有空格有点奇怪。:)

第二个数字你问了两次

l = +document.getElementById("Number two").value;

你打错了,你用了两次"Number two"把l = +document.getElementById("Number two").value;改成了"Number three"

首先,您不需要将函数声明为var,如果您愿意,您可以这样做:

function mean(){//...code}

只有当你想把它作为参数提供给另一个函数时,才需要把它声明为var。您编写的方式也阻止了您在函数定义之前调用它,但这是一个更高级的主题。如果你想知道更多,请阅读:https://javascriptweblog.wordpress.com/2010/07/06/function-declarations-vs-function-expressions/

然后,您将两次获得"Number two"输入的值。应该是:

n = +document.getElementById("Number one").value;
m = +document.getElementById("Number two").value;
l = +document.getElementById("Number three").value;

代替:

n = +document.getElementById("Number one").value;
m = +document.getElementById("Number two").value;
l = +document.getElementById("Number two").value;