选择JavaScript中的计算方法
Choosing a method of Calculation in JavaScript
我一直在用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的情况下不执行任何操作。
使用===
而非=
===
是一个比较,=
是一个赋值。
忘记==
的存在吧。
相关文章:
- 渲染方法与生命周期方法中的React计算
- 在Knockoutjs中设置计算对象的observableArray的更好方法
- 有没有一种方法可以让javascript不计算特定的字符
- 在JavaScript数组中查找最后一个元素的计算效率最高的方法
- 这是计算余弦相似度的正确方法吗
- 有什么方法可以获得或计算ScrollView的速度吗
- React.js中计算值的正确方法
- 这种计算画布元素中非白色像素的方法有什么问题
- RxJS中计算值流最大值的惯用方法
- 计算十进制幂的方法
- 为什么这种用于计算数组重复并将其存储到对象中的方法有效
- 根据 jquery 中 2 个选择列表的选定值动态计算的最佳方法
- 正确的方法是什么,使用THREE.js方法来计算相机的偏航
- 计算日期窗体下拉列表的月天数的最佳方法
- 在Javascript中计算弧度的正确方法
- 有没有一种方法可以计算只有js(没有Node.js)的doc、docx、pdf页面
- 借助firebug或IE 8调试器或chrome调试器来计算javascript函数流的方法
- 创建两个函数来计算对象属性/方法
- 这是块声明中的计算方法名称,还是拼写错误
- 选择JavaScript中的计算方法