换行符及其在Java字符串连接中的作用

娱乐场

我使用JavaScript有点,在工作时遇到了一个非常奇怪的案例,我花了一些时间在项目中修复了这个问题,但是我也可以复制。

问题是关于通过串联在多行上解析字符串。

我的测试用例如下:

> var a = "s1"
undefined
> var b = "s2"
undefined
> a + b
's1s2'
> a+
... +b
's1NaN'
> a++b
SyntaxError: Unexpected identifier

(其中第二个基本上是单个命令,a ++ b,在a +和+ b之间有换行符)。

第二个测试用例的行为不应该与第三个测试用例完全一样吗?Chrome 39和Firefox 34中都会发生这种情况。

这种行为是否符合标准?我是否错过了明显的东西,以至于我没有考虑?

四人
a+
+b

实际上被视为

a + (+b)

由于b不是数字,因此一元+运算符将的数值b指定为NaN

在最后一种情况下,a++b其评估为(a++)b由于JavaScript在++运算符之后不期望任何内容,因此它会因错误而失败

SyntaxError: Unexpected identifier

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章