Javascript 如何更改if语句中变量的值 高度: 基础: 斜边: 查找区域 答案将出现在此处 函数求值(){ var H=document.getElementById(“高度”).value; var B=document.getElementById(“Base”).value; var Hy=document.getElementById(“斜边”).value; if(B==NaN | | null){ var区域=Math.sqrt(Math.pow(Hy,2)-Math.pow(H,2)); } document.getElementById(“Answer”).innerHTML=Area; }

Javascript 如何更改if语句中变量的值 高度: 基础: 斜边: 查找区域 答案将出现在此处 函数求值(){ var H=document.getElementById(“高度”).value; var B=document.getElementById(“Base”).value; var Hy=document.getElementById(“斜边”).value; if(B==NaN | | null){ var区域=Math.sqrt(Math.pow(Hy,2)-Math.pow(H,2)); } document.getElementById(“Answer”).innerHTML=Area; },javascript,function,variables,if-statement,scope,Javascript,Function,Variables,If Statement,Scope,我是JavaScript新手,我一直在尝试编写一段代码来找到三角形的公式。我的问题是在if语句之后,我想更改“Area”的值,但每次运行代码时,我都会得到undefined。如何更改if语句中变量的值?您的if()语句总是错误的,因此实际上您的区域变量从未定义过。更新声明如下: if( isNaN(B) || null == B ) { var Area = Math.sqrt(Math.pow(Hy, 2) - Math.pow(H, 2)); } 您还可以在上面添加一个else块

我是JavaScript新手,我一直在尝试编写一段代码来找到三角形的公式。我的问题是在if语句之后,我想更改“Area”的值,但每次运行代码时,我都会得到
undefined
。如何更改if语句中变量的值?

您的
if()
语句总是错误的,因此实际上您的
区域
变量从未定义过。更新声明如下:

if( isNaN(B) || null == B ) 
{
    var Area = Math.sqrt(Math.pow(Hy, 2) - Math.pow(H, 2));
}
您还可以在上面添加一个
else
块,否则
document.getElementById(“Answer”).innerHTML=Area可以附加
未定义的

最后,您还需要更新变量定义,因为使用
.value
将始终返回字符串;您可以使用
parseInt()
parseFloat()

您的
if()
语句总是错误的,因此实际上您的
区域
变量从未定义过。更新声明如下:

if( isNaN(B) || null == B ) 
{
    var Area = Math.sqrt(Math.pow(Hy, 2) - Math.pow(H, 2));
}
您还可以在上面添加一个
else
块,否则
document.getElementById(“Answer”).innerHTML=Area可以附加
未定义的

最后,您还需要更新变量定义,因为使用
.value
将始终返回字符串;您可以使用
parseInt()
parseFloat()


这不是JavaScript中逻辑表达式的工作方式,也不会给您预期的结果:

if (B == NaN || null) {
您必须进行两个单独的比较,然后将它们与
|
组合:

if (B === NaN || B === null) {

除此之外,空输入不会有
NaN
null
值,而只是一个空字符串。您可能正在寻找此支票:

if (B.length === 0) {
或者更简短地说:

if (!B) {

这不是JavaScript中逻辑表达式的工作方式,也不会给您预期的结果:

if (B == NaN || null) {
您必须进行两个单独的比较,然后将它们与
|
组合:

if (B === NaN || B === null) {

除此之外,空输入不会有
NaN
null
值,而只是一个空字符串。您可能正在寻找此支票:

if (B.length === 0) {
或者更简短地说:

if (!B) {

除了其他人所说的,而不是:

var Area = Math.sqrt(Math.pow(Hy, 2) - Math.pow(H, 2));
应该是:

var B = Math.sqrt(Math.pow(Hy, 2) - Math.pow(H, 2));
var area = B*H/2;

除了其他人所说的,而不是:

var Area = Math.sqrt(Math.pow(Hy, 2) - Math.pow(H, 2));
应该是:

var B = Math.sqrt(Math.pow(Hy, 2) - Math.pow(H, 2));
var area = B*H/2;

首先,您首先使用适当的条件,如在
if(B==NaN | | B==null)
中,然后您意识到元素值永远不会是NaN或null,因为它总是一个字符串。首先,您首先使用适当的条件,如
if(B==NaN | B==null)
,然后您会意识到元素值永远不会是NaN或null,因为它总是一个字符串。啊,我明白了。谢谢你的信息啊,我明白了。谢谢你的信息