JavaScript 函数参数
javascript functions arguments
创建了一个基本表单,三个下拉列表和一个按钮。 我尝试将下拉列表中的三个值相乘。 我必须将数据传递给函数。 我已经运行了代码,结果一直得到 0??我认为我没有正确地将数据从上到函数传递
?<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>
<body>
<script>
function multiply(number1, number2, number3)
{
var firstnum=0;
var secondnum=0;
var thirdnum=0;
var answer;
firstnum=parseInt(number1);
secondnum=parseInt(number2);
thirdnum==parseInt(number3);
answer=(firstnum*secondnum*thirdnum);
alert(answer)
}
</script>
<form name="Example1">
Number 1:
<select id="num1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<br/>
Number 2:
<select id="num2">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<br/>
Number 2:
<select id="num3">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<br/>
<input type=button value="muliply" onclick="multiply(num1.value, num2.value, num3.value)" />
</form>
</body>
</html>
你的问题是:
thirdnum==parseInt(number3);
是比较,而不是作业,所以thirdnum
永远是0
的。
由于您乘以 thirdnum
,并且任何× 0 都是 0,因此您将始终得到 0 作为输出。
将==
更改为=
。
如果您使用 JS Hint 对代码进行了 QA,就会选择这一点。
您应该纠正的不良做法是:
-
num1.value
假设将为每个具有 id 的元素创建全局 JS 变量。 不要假设,请使用document.getElementById
-
parseInt(number1)
没有基数。始终指定您正在使用的数字系统(通常以 10 为基数(,这样就不会从数据中推断出意外结果:parseInt(number1, 10);
-
<form name="Example1">
,表单上的 name 属性是id
属性正确出现之前的遗留问题。使用id
标识客户端代码的元素。 -
onclick
属性在分离关注点方面做得很差。使用addEventListener
(如果需要支持旧版本的IE,请使用YUI或jQuery等库(。
因此,您不断得到 0
thirdnum==parseInt(number3);
在您的multiply
函数中
将其更改为
thirdnum=parseInt(number3);
你应该很高兴去
这是一个演示
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- AngularJS:我可以跳过函数参数回调吗
- 函数未将值作为参数传递
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 为什么不'我们在javascript中使用函数参数的数据类型
- 你好,这是测试用例,我必须在函数中传递n个参数
- JavaScript - 多参数函数,它是多个图像库的字符串
- 如何从两个参数函数返回随机整数
- 以无点风格在Ramda中编写一个无参数函数
- JS:将单参数函数转换为可链接函数
- 正则表达式类似于Javascript中的参数函数
- 将 $' 值传递给替换的关联参数函数
- "这个“;在参数函数中
- 如何向jquery插件发送参数函数
- 将参数函数Node.js从一个js传递到另一个js
- 如何在javascript参数函数中传递PHP post方法字符串
- 装饰 Javascript Promise.then 以便参数函数接收附加参数
- 正在分析setInterval ID'是的's参数函数
- 如何根据一个参数函数计算年龄
- 对象参数/函数和/或三元运算符混淆