js中关于alert的问题

alert(‘1加到3的值是’+1+2+3);alert(1+2+3+“是1加到3的值”);第一行代码弹出的窗口显示:1加到3的值是1+2+3第二行弹出窗口显示:6是1加... alert(‘1加到3的值是’ + 1 + 2 + 3);
alert(1 + 2 + 3 + “是1加到3的值”);
第一行代码弹出的窗口显示:1加到3的值是1+2+3
第二行弹出窗口显示:6是1加到3的值
为什么第一行没有进行运算啊?求赐教!
展开
 我来答
帐号已注销
2013-07-12 · TA获得超过4630个赞
知道大有可为答主
回答量:1345
采纳率:50%
帮助的人:1636万
展开全部
第一行弹出的应该是:1加到3的值是123

js中优先级相同的运算符是从左到右计算的。

因为 '1加到3的值是' 这是一个字符串,字符串加数字,就是连接字符串,所以第一次加1的时候,结果就是 '1加到3的值是1' ,再加2,再加3,结果就是 ‘1加到3的值是123’。

但是第二行一开头是数字相加,也就是1+2结果是3,接着加3,结果是6,6再去加上字符串,任何类型与字符串相加,都会转换成字符串的连接,所以是6是1加到3的值。

第一行想要正确,就加上一对括号,改变运算符的运算顺序,也就是
alert('1加到3的值是' +(1+2+3))
这样的话,就能正确运算了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式