首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript函数参数

javascript函数参数
EN

Stack Overflow用户
提问于 2013-10-03 11:20:56
回答 2查看 66关注 0票数 0

创建了一个基本表单、三个下拉列表和一个按钮。我要把下面三个值相乘。我得把数据传递给函数。我已经运行了代码,结果一直是0?我认为我没有正确地将数据从上到下传递到函数?

代码语言:javascript
复制
<!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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-03 11:25:33

你的问题是:

thirdnum==parseInt(number3);是比较,而不是赋值,所以thirdnum永远是0

由于您是乘thirdnum,并且任何×0都是0,所以总是得到0作为输出。

==更改为=

如果您将代码与QAed一起使用JS提示,就会发现这一点。

你应该纠正的不良做法是:

  1. num1.value假定将为每个具有id的元素创建全局JS变量。不要这样认为,请使用document.getElementById
  2. parseInt(number1)没有基数。始终指定您所使用的数字系统(通常是基数10),这样就不会从数据中推断出意外的结果:parseInt(number1, 10);
  3. <form name="Example1">,forms上的name属性是id属性正确出现之前遗留下来的。使用id标识客户端代码的元素。
  4. onclick属性在分离关注点方面做得很差。使用addEventListener (如果需要支持旧版本的IE,可以使用库,如YUI或jQuery )。
票数 4
EN

Stack Overflow用户

发布于 2013-10-03 11:30:33

好的,由于这个原因,你一直得到0。

代码语言:javascript
复制
thirdnum==parseInt(number3);

multiply函数中

把它改成

代码语言:javascript
复制
thirdnum=parseInt(number3);

你应该好好去

这是一个演示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19157887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档