读书人

alert初学者有关问题

发布时间: 2012-08-24 10:00:20 作者: rapoo

alert菜鸟问题
function cal()
{
var p1=prompt("请输入第一个数","");
var p2=prompt("请输入第二个数","");
var p3=prompt("请输入运算符","");
switch(p3)
{
case "+":
alert(p1+p3+p2+"="+(parseInt(p1)+parseInt(p2)));break;
case "-":
alert(p1+p3+p2+"="+(p1-p2));break;
case "*":
alert(p1+p3+p2+"="+p1*p2);break;
case "/":
alert(p1+p3+p2+"="+p1/p2);break;
default:
alert("输入有误!");break;
}
}

把(parseInt(p1)+parseInt(p2))换成(p1+p2)为什么就没办法显示正确结果啊?

[解决办法]

探讨

输入1+1
alert(p1+p3+p2+"="+(parseInt(p1)+parseInt(p2)));出来的结果是2
alert(p1+p3+p2+"="+(p1+p2));结果是11
为什么?

[解决办法]
可以用谷歌搜索一下百度 看看自动类型转换 对你有用 简单的说就是 if(1){这个函数体也会执行,进行了自动类型转换。}至于你说的那个-/*这三个符号不具备字符串的运算,而+号符合字符串运算,所以优先考虑这一个拼接

读书人网 >JavaScript

热点推荐