javascript - 当我按下按钮并输入值 2 时,它不会执行 else if 命令

标签 javascript html if-statement

首先我想道歉,因为以下代码是用丹麦语编写的,对于非丹麦人可能没有任何意义。

我写了这段代码:

JS Link

代码的重要部分是这个,但我不确定这是否是问题所在:

function udregnAnalyseAr() {
        var virksomhedsnavn = prompt("Hvad hedder den virksomhed du arbejder med?");
        var analysear;
        var ar = parseFloat(prompt("Hvor mange analyseår er der?"));

以及稍后:

if (ar === 1.00) {
        var afkastningsgrad1 = parseFloat(prompt("Hvad er afkastningsgraden på i det første år? (Det mindste år)")); 
        if (afkastningsgrad1 <= 4.00)
        {
        value1 = "Afkastningsgraden i år 1 er blevet registreret til " + afkastningsgrad1 + " %. Den er på et utilfredsstillende niveau sammenlignet med markedsrenten på 3 % plus et risikotillæg (marts 2016). <br>";
        }
        else if (afkastningsgrad1 > 4.00)
        {value1 = "Afkastningsgraden i år 1 er blevet registreret til " + afkastningsgrad1 + " %. Den er på et tilfredsstillende niveau sammenlignet med markedsrenten på 3 % plus et risikotillæg (marts 2016). <br>";
        }
        else
        {value1 = "Afkastningsgraden er blevet indtastet forkert.<br>";
        }
        document.getElementById("afkastningDataTxt").innerHTML = value1
        }

    else if (ar === 2) {
        var afkastningsgrad1 = parseFloat(prompt ("Hvad er afkastningsgraden på i det første år? (Det mindste år)")); 
        if (afkastningsgrad1 <= 4.00)
        {
        value1 = "Afkastningsgraden i år 1 er blevet registreret til " + afkastningsgrad1 + " %. Den er på et utilfredsstillende niveau sammenlignet med markedsrenten på 3 % plus et risikotillæg (marts 2016). <br>";
        }
        else if (afkastningsgrad1 > 4.00)
        {value1 = "Afkastningsgraden i år 1 er blevet registreret til " + afkastningsgrad1 + " %. Den er på et tilfredsstillende niveau sammenlignet med markedsrenten på 3 % plus et risikotillæg (marts 2016). <br>";
        }
        else
        {value1 = "Afkastningsgraden er blevet indtastet forkert.<br>";
        }

我的问题是,当我在第一个函数中将“ar”定义为 2 时,它并不关心第二个函数中的值。它会自动表现为 if ar = 1 并启动 if 执行。

最佳答案

问题在于您在 if 语句中使用了单个等号。您想改用三个。这可确保值和类型彼此相等。

例如:

if (ar === 1.00)

关于javascript - 当我按下按钮并输入值 2 时,它不会执行 else if 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35951695/

相关文章:

javascript - 在数组内的对象中搜索

javascript - 当窗口大小更改时,将根 div 中心保持在页面上

javascript - 是否可以在不删除该行的情况下淡出文本?

javascript - 选择输入,其中单击事件滚动通过一组定义的值而不是打开下拉列表

java - 给定的 if 条件如何在 java 中给出 true

css - &lt;!--[if IE]> 如何工作而不工作?

javascript - vee-validator 在 Internet Explorer 中不工作

javascript - 从文本框中删除文本

javascript - 绕过 Mongoose setter/getter

使用 if/else 语句的 Javascript 计算器