慕数据1008917
2017-02-14 09:24
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>check</title>
<script>
function add2(a,b){
var sum=a+b;
var diff=a-b;
document.write("两数之和为:"+sum);
document.write("两数之差为:"+diff);
}
function calculate()
{
var a=prompt("请输入数字");
var b=prompt("请输入第二个数字");
add2(a,b);
}
</script>
</head>
<body>
<button onclick="calculate()">点我算数</button>
</body>
</html>
paseInt转换成数字计算吧,试试
这样好点:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>check</title>
<script>
function add2(a,b){
var sum=a+b;
var diff=a-b;
if(diff<0){
diff=-diff
}
document.write("两数之和为:"+sum);
document.write("两数之差为:"+diff);
}
function calculate()
{
var a=parseInt(prompt("请输入数字"));
var b=parseInt(prompt("请输入第二个数字"));
add2(a,b);
}
</script>
</head>
<body>
<button onclick="calculate()">点我算数</button>
</body>
</html>
var a= +(prompt("请输入数字")); var b= +(prompt("请输入第二个数字"));
原因:使用prompt得到用户输入的数据类型是字符串,谨记!谨记!谨记!
可以使用上面的黑科技将其隐形转换为number类型。
当然也可以使用parseInt或parseFloat进行强制转换
如果 + 号两边有一个为字符串的话 +的意思为字符串连接 如果是数字的话 + 就按算术方法使用
啧啧额
用Number()也行
<!doctype html> <html> <head> <meta charset="utf-8"> <title>check</title> <script> function add2(a,b){ var sum=a+b; var diff=a-b; document.write("两数之和为:"+sum); document.write("两数之差为:"+diff); } function calculate() { var a=parseInt(prompt("请输入数字")); var b=parseInt(prompt("请输入第二个数字")); add2(a,b); } </script> </head> <body> <button onclick="calculate()">点我算数</button> </body> </html>
谢谢!解决啦~~
字符串没有转换为数字运算。
可用parseInt()和parseFloat()两个转换函数解决。
JavaScript进阶篇
468193 学习 · 21891 问题
相似问题