有意思的javascript笔误
Tue, May 28, 2013前两天被拉去查一个很怪的错,描述是“一个js文件压缩前和压缩后执行结果不一样”
查了很久锁定以下代码
s = s + +("...")
一看就是笔误了,压缩后为
s=s++("...")
空格被压缩后显然会抛语法错。但没压缩能正常运行就有点意思了,做了以下尝试
+('...')
> NaN
-('...')
> NaN
'1' + +('...')
> "1NaN"
+(NaN)
> NaN
那个多出来的加号,被解释成取数字正值,就像减号在数字前是取数字的负值一样。