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语句之后,我想更改“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块
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,因为它总是一个字符串。啊,我明白了。谢谢你的信息啊,我明白了。谢谢你的信息