问题描述
- 问一下这个js语句的加法怎么实现不了,麻烦
-
<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>加减乘除的基本运算</title> <script language="javascript"> function evalAbc(x,y,z,n) { var x,y,n;//定义变量 //输入第一个数字 x=window.prompt("请输入第一个数字:"); //输入第二个数字 y=window.prompt("请输入第二个数字:"); //输入一个运算符 z=window.prompt("请输入一个运算符:",z); if(z=='*') { n=x*y; } else if(z=='/') { n=x/y; } else if(z=='+') { document.write(eval(n=x+y)); } else { n=x-y; } alert(n); document.write(n); } /* function abc(x,y) { document.write(eval(x+y)); } */ </script> </head> <body style="text-align:center"> <input type="button" name="mybutton" value="点我运算" onclick="evalAbc()"/> </body> </html>
那个else if加法语句 实现不了 还是字符串
解决方案
加减乘除的基本运算
<pre><code> function evalAbc(x,y,z,n)
{
var x,y,n;//定义变量
//输入第一个数字
x=window.prompt("请输入第一个数字:");
//输入第二个数字
y=window.prompt("请输入第二个数字:");
//输入一个运算符
z=window.prompt("请输入一个运算符:",z);
if(z=='*')
{
n=x*y;
}
else if(z=='/')
{
n=x/y;
}
else if(z=='+')
{
parseInt(x)+parseInt(y);
//n=x+y;
document.write(eval(n=x+y));
}
else
{
n=x-y;
}
alert(n);
document.write(n);
}
/*
function abc(x,y)
{
document.write(eval(x+y));
}
*/
</script>
</head>
<body style="text-align:center">
<input type="button" name="mybutton" value="点我运算" onclick="evalAbc()"/>
</body>
</code></pre>
<p></html><br>
还是不行 麻烦大家再看一下</p>
解决方案二:
输入的默认是字符串吧,+号可以做字符串连接操作,用parseInt转换下x和y试试
解决方案三:
parseInt(x)+parseInt(y)
解决方案四:
parseInt(x)+parseInt(y)
解决方案五:
我刚刚转换了,还是没用 就是这样: parseInt(y,x);麻烦你说一下,谢谢
解决方案六:
else if(z=='/') 字符串要加引号吧
解决方案七:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>加减乘除的基本运算</title>
<script language="javascript">
function evalAbc(x, y, z, n) {
var x, y, n;//定义变量
//输入第一个数字
x = parseInt(window.prompt("请输入第一个数字:")) || 0;//转为数字
//输入第二个数字
y = parseInt(window.prompt("请输入第二个数字:")) || 0; //转为数字
//输入一个运算符
z = window.prompt("请输入一个运算符:", z);
if (z == '*') {
n = x * y;
}
else if (z == '/') {
n = x / y;
}
else if (z == '+') {
//document.write(eval(n = x + y));//不要用document.write,文档流关闭后再调用这个会覆盖当前页面内容
n = x + y
}
else {
n = x - y;
}
alert(n);
document.getElementById('rst').innerHTML = n;
}
/*
function abc(x,y)
{
document.write(eval(x+y));
}
*/
</script>
</head>
<body style="text-align:center">
<div id="rst"></div>
<input type="button" name="mybutton" value="点我运算" onclick="evalAbc()" />
</body>
</html>
解决方案八:
每个数分别parseInt(x)然后在求和,js中比较数的大小也得先转换,只要是跟数据有关的都得转换
解决方案九:
var i = ‘1’;
var j = ‘2’;
alert(‘I+J = ’+ (i*1 + j*1));