JS: 1.toString OR (1).toString
1.toString();
(1).toString();
-1 .toString();
请问这几个的区别?
实际执行情况为,第一条浏览器抛错,后两条正确执行,这是为什么?
GalFun
12 years, 9 months ago
Answers
第一个:
1.toString() ,语法错误,这里由于 . 的作用为 小数点,将整体认为是一个小数,
可以试试 1.a , 1.b 同样有错误。
使用 1.0.toString() 可以规避这种错误
第二个:
(1).toString(); 显然避开了上边的错误,将整个表达式分成了 1 toString() 两部分
同样的使用 1 .toString() 可以规避这错误(加空格)。
第三个:
-1 .toString(); 这里有个优先级问题, 实际为 :-(1 .toString()); 那么进一步理解为:
0 - "1" = -1 (number) 这里有个隐式的类型转换。
guangye
answered 12 years, 9 months ago