这个程序输出的结果为什么是25255?去掉双引号后结果为55,大神们能不能解释下原因?
带上引号,后面是字符串连接
相当于 (x + y),toString() + "" + (x+y).toString() + y.toString()
所以是"25" + "" + "25" + "5"
也就是25255
不带引号,是算术运算,最后转换为整数。
1.数字加字符串都会被转型成字符串类型
2.从左向右的执行顺序
3.括号优先级大于加号
主要还是 + 和 “” 的优先级,会影响最终的结果吧。
如果没有 “”,就是纯+,加了之后输出计算结果,就是 55;
如果有了 “”后,计算顺序发生了变化,导致不同的输出。
一个字符串连接。一个是相加
想输出这个吧“x+y=”+(x+y).toString()