在我尝试打印两个相邻的整数 JavaScript 变量时,我遇到了这个小障碍:
代码:
var left = 100
var right = 100
alert(left + right)
结果:
200
我想回来100100
当然这对我来说不是一个很难解决的问题,我想出了这个:
alert(left + "" + right)
效果很好!
不知为何,感觉不太对劲。对我来说看起来有点不精致...
有没有更聪明的方法来做到这一点?
在我尝试打印两个相邻的整数 JavaScript 变量时,我遇到了这个小障碍:
代码:
var left = 100
var right = 100
alert(left + right)
结果:
200
我想回来100100
当然这对我来说不是一个很难解决的问题,我想出了这个:
alert(left + "" + right)
效果很好!
不知为何,感觉不太对劲。对我来说看起来有点不精致...
有没有更聪明的方法来做到这一点?
您应该将它们转换为string
类型。
alert(left.toString() + right.toString())
原因是,在 javascript 中,它们在创建时将是numbers
(整数)。您必须将它们转换为string
类型。由于这些是对象,您可以使用它们的toString()
方法进行转换。
除了您已经拥有的之外,还有3 个选项:
//make it a string from the beginning
var left = '100'
var right = '100'
alert(left + right)
//make it a string later
var left = 100
var right = 100
alert(left.toString() + right)
//or
alert([left, right].join(''))
您必须以一种或另一种方式将值转换为字符串,然后添加引号就可以了。
否则,它们最终会在被评估并因此被添加之前成为整数。
您还可以使用:
alert(left.toString() + right.toString());
或您所拥有的变体:
alert('' + left + right);
left.toString() + right.toString()
或者类似的东西
alert(String(left)+String(right))