js变量前面的加号+

2017-07-19 10:35:13

+ 确实就是把后面的内容转成 number 类型。

但是这里为什么这么写我也觉得很奇怪,因为首先也没有什么常见的对象会有 length 属性但不是 number 类型的。

其次就算前面不转成 number 类型,后面唯一用到 len 的 < 运算符也会自动做类型转换。看上去之后每次 < 时都去转换类型比之前只转换一次的性能要低下,但实际上现代 JavaScript 引擎没有那么笨。

结论:毫无必要。