选择JavaScript中的计算方法

Choosing a method of Calculation in JavaScript

本文关键字:计算 方法 JavaScript 选择      更新时间:2023-09-26

我一直在用JavaScript开发一个非常简单的计算器。基本上,你输入两个值,选择你的计算方法,然后点击go,它就会输出一个值。这是我制作的一个展示概念的JSfiddle:

http://jsfiddle.net/JHeqN/

奇怪的是,在我的浏览器中,无论我选择什么,它都会运行计算,但只是加法。在JSfiddle中,它甚至不运行计算。我认为问题可能出在我的If,ElseIf语句上,但我不确定在哪里或为什么。我现在拥有的是:

function calculateTotal() {
var value1 = document.getElementsByName('value1')[0].value;
var value2 = document.getElementsByName('value2')[0].value;
var calcMethod = document.getElementsByName('calculationType')[0].value;
var out;
if (calcMethod = 'add')
    {
    out = parseFloat(value1) + parseFloat(value2);
    }
else if (calcMethod = 'subtract')
    {
    out = parsefloat(value1) - parsefloat(value2);
    }
else if (calcMethod = 'multiply')
    {
    out = parsefloat(value1) * parsefloat(value2);
    }
else if (calcMethod = 'divide')
    {
    out = parsefloat(value1) / parsefloat(value2);
    }
document.getElementsByName('total')[0].value= out;
}

它所做的是,它采用由我的HTML中的select值分配的名称,在这里:

<select name="calculationType">
    <option value="add">+</option>
    <option value="subtract">-</option>
    <option value="multiply">*</option>
    <option value="divide">/</option>
</select><br>

并将该值指定给变量calcMethod。然后,它检查选择了这些值中的哪一个,以确定要计算的数学类型。我已经使用Chrome中的控制台检查了这一点,并且正确地分配了值。当我选择division时,calcMethod在运行时等于"divide",但它仍然添加,或者在JSfiddle的情况下不执行任何操作。

使用===而非=

===是一个比较,=是一个赋值。

忘记==的存在吧。