注册 登录
编程论坛 JavaScript论坛

javascript求和问题?

流浪天边 发布于 2010-11-14 05:08, 1832 次点击
  今天,我在书中看到一个例子,关于求和的。我这个不是作业
   大家看下例子:
程序代码:
<html>
<head>
<title>求和</title>
</head>
<body style=overflow:auto;>
<script>
intA=prompt("请输入第一个数",1);
intB=prompt("请输入第二个数",1);
document.write("<br>你输入第一个数"+intA);
document.write("<br>你输入第而个数"+intB);
document.write("<br>你输入两数之和"+(intA+intB));
</script>
</body>
</html>
这个JavaScript程序运行结果是:
只有本站会员才能查看附件,请 登录

我想问下“+”即是连接字符,也是运算字符,为什么系统先识别连接字符,而不识别运算字符呢?
大家在看下这个程序:
程序代码:
<html>
<head>
<title>求和</title>
</head>
<body style=overflow:auto;>
<script>
document.write("1+1的结果是"+1+1);
document.write("<br>3*3的结果是"+3*3);
</script>
</body>
</html>
只有本站会员才能查看附件,请 登录

这有是两码事,不一样的结果,我想了想,程序是先执行“*”后“+”,因为它们是按优先顺序执行的,为什么执行后结果是11呢?


[ 本帖最后由 流浪天边 于 2010-11-14 05:21 编辑 ]
6 回复
#2
zmh8862010-11-14 12:03
我是这么理解的 由于是连续+ 从左往右算的 前面是文本 js就把后面也当成文本了 加个括号就能计算出正确值了
#3
zmh8862010-11-14 12:04
<html>
<head>
<title>求和</title>
</head>
<body style=overflow:auto;>
<script>
document.write("1+1的结果是"+(1+1));
document.write("<br>3*3的结果是"+3*3);
</script>
</body>
</html>
#4
北京的晚秋2010-11-14 17:07
var r = eval("1+1");
document.write("1+1的结果是"+r);
#5
流浪天边2010-11-15 00:16
谢谢大家 领教了!
#6
archibald3852010-12-01 10:57
你这个相加的是2个字符串,如果要计算结果需要用Number()转换为数值才可以
#7
zhanghee2010-12-23 20:30
javascript中没有具体的类型啊 你用var 定义
1