为了账号安全,请及时绑定邮箱和手机立即绑定

求解释下图中的现象

求解释为什么乘法生效了而加法不行

http://img1.sycdn.imooc.com//561db20a000191d214110385.jpg

正在回答

3 回答

优先级阿,亲

先乘除后加减

0 回复 有任何疑惑可以回复我~
#1

Army1992 提问者

非常感谢!
2015-10-14 回复 有任何疑惑可以回复我~

大兄弟啊,你采纳的这个答案有点坑啊!

我想问个问题,为什么直接的数组相加是连接起来,而把相加的数组用括号括起来是算术相加

我的代码如下,你可以复制过去看一下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>数组赋值</title>
<script language="javascript">
 var myarr=new Array(2);
 myarr[0]=88;
 myarr[1]=90;
 myarr[2]=68;
 var arr=new Array('1',2,3);
  document.write("数组第一个值是:"+myarr[0]+"<br>");
  document.write("数组第二个值是:"+myarr[1]+"<br>");
  document.write("数组第三个值是:"+myarr[2]+"<br>");
  document.write("<br />");
  document.write("测试:"+myarr[0]+myarr[1]+"<br>");
  document.write("测试:"+(myarr[0]+myarr[1])+"<br>")
  document.write("<br />");
  document.write("测试:"+arr[0]+arr[2]+"<br>");
  document.write("测试:"+arr[1]+arr[2]+"<br>");
  document.write("测试:"+(arr[1]+arr[2])+"<br>");
</script>
</head>
<body>
</body>
</html>


2 回复 有任何疑惑可以回复我~
#1

Army1992 提问者

好像是按照运算的顺序,数字+数字 就会默认为相加,但是document.write("测试:"+arr[0]+arr[2]+"<br>");中先是运算 “测试”+数字,所以系统自动把他们当成字符串相连,然后后面的所有都是当成字符串了。有时候把数字转成字符串就是用一个空字符串 ""+数字 做强制转换。
2015-10-19 回复 有任何疑惑可以回复我~
#2

答答安 回复 Army1992 提问者

把数字改字符串是加"",那就这个例子,怎样把它改成数字相加?
2015-10-20 回复 有任何疑惑可以回复我~
#3

Army1992 提问者 回复 答答安

parseInt()函数吧,前提是数字的字符串,不然会报错
2015-10-20 回复 有任何疑惑可以回复我~
#4

我要开发地图系统

+ 号同时也是字符串连接符,根据优先级原理,同级运算按从左到右的顺序,由于第一个运算数是字符串,所以第二个也被转换成字符串了,它们的结果与第下一个数字相加,结果也是字符串,所以它们连接起来就是23。 当然相乘的那个优先级高先算出结果,再与前面的字符串相连,结果自然是6了。
2016-06-11 回复 有任何疑惑可以回复我~
查看1条回复

第二个输出中的加号起的是连接作用

0 回复 有任何疑惑可以回复我~
#1

Army1992 提问者

document.write("数组第二个值是:"+(myarr[1]+myarr[2])+"<br>");输出的就是数字相加 document.write("数组第二个值是:"+(""+myarr[1]+myarr[2])+"<br>");输出的就是字符串 document.write("数组第二个值是:"+(myarr[1]+myarr[2]+"")+"<br>");输出的还是数字相加
2015-10-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468189    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

求解释下图中的现象

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信