Javascript 函数calculatebmi()计算错误吗? var x=0.02539; 函数calculatebmi() { var feets=document.bmiform.feets.value; var inches=document.bmiform.inches.value; var-weight=document.bmiform1.weight.value; 变量高度=(12*英尺)+英寸; 高度=高度*x; var finalbmi=体重/(身高*身高); document.bmiform3.bmi.value=finalbmi; } 输入你的身高 脚 英寸 输入你的体重 公斤 你的体重指数:

Javascript 函数calculatebmi()计算错误吗? var x=0.02539; 函数calculatebmi() { var feets=document.bmiform.feets.value; var inches=document.bmiform.inches.value; var-weight=document.bmiform1.weight.value; 变量高度=(12*英尺)+英寸; 高度=高度*x; var finalbmi=体重/(身高*身高); document.bmiform3.bmi.value=finalbmi; } 输入你的身高 脚 英寸 输入你的体重 公斤 你的体重指数:,javascript,html,Javascript,Html,为什么这个函数计算错误的值?我正确地访问了表单,那么为什么答案是正确的呢?还有一件事,当我在javascript中编写calculate()而不是calculatebmi()时,我的calculate按钮不会产生任何结果?请让我了解一下,我对html和javascript非常陌生,这是number+str1=str2的一个经典示例 你似乎还试图把英寸转换成米,但忘记了把磅转换成公斤 其中703.069006138是1lb(单位:kg)除以1英寸(单位:米),0.453592/(0.0254²)

为什么这个函数计算错误的值?我正确地访问了表单,那么为什么答案是正确的呢?还有一件事,当我在javascript中编写calculate()而不是calculatebmi()时,我的calculate按钮不会产生任何结果?请让我了解一下,我对html和javascript非常陌生,这是
number+str1=str2
的一个经典示例

你似乎还试图把英寸转换成米,但忘记了把磅转换成公斤

其中
703.069006138
1
lb(单位:kg)除以
1
英寸(单位:米),
0.453592/(0.0254²)


你能告诉我我在代码中做错了什么吗

您的错误来自这一行(尽管修复应该在代码的前面)

  • 您的
    feet
    值是一个字符串,但是
    12*str
    给出了一个数字,所以我们可以忽略它

  • 您的
    inches
    值是一个字符串,因此我们有数字
    12*feet
    ,称之为
    num
    ,然后我们添加字符串
    inches
    (我们称之为
    str
    ,以澄清问题)

那么
num+str
给了我们什么?另一串

让我们考虑价值,

var height=(12*feet)+inches;
从这里开始,计算的其余部分不会给出您期望的结果

要解决此问题,请在尝试使用之前将值转换为数字。使用一元
+
运算符,
+“10”/,可以快速简便地完成此操作10

var feet = "5",
    inches = "10";
12 * feet; // 75
75 + inches; // "7510"


<>你也可以考虑给你的输入提供ID,在JavaScript中通过名称访问有点混乱

你使用JSFIDLE吗?不,我没有在线运行它。我使用谷歌chromeuse r做的和我做的一样,只是我只想要体重指数(kg/m2)。你能告诉我我在我的工作中做错了什么吗code@sony您当前的代码正在尝试lb/m²,这毫无意义。您还将一个字符串添加到一个数字中,考虑<代码> 1 +“2”;“12”我不明白你在说什么?我以千克为单位输入了重量,不是吗?哦,对不起,我没有查看您的HTML。如果您在使用特定对象或本机方法时遇到问题,请使用谷歌搜索
mdn name
,例如,如果您在
splice
ing方面遇到问题,请使用谷歌
mdn splice
。MDN是一个很好的javascript维基调试JavaScript时要学习的主要技能是如何使用控制台。像
console.log
这样的方法将是您最好的朋友,让您确切地了解代码的工作方式。F12通常会打开控制台,否则请查看
var height=(12*feet)+inches;
var feet = "5",
    inches = "10";
12 * feet; // 75
75 + inches; // "7510"
var feet = +document.bmiform.feet.value,
    inches = +document.bmiform.inches.value,
    weight = +document.bmiform1.weight.value;