JavaScript-JS: 1.toString OR (1).toString
1.toString();
(1).toString();
-1 .toString();
请问这几个的区别?
实际执行情况为,第一条浏览器抛错,后两条正确执行,这是为什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
1.toString();
(1).toString();
-1 .toString();
请问这几个的区别?
实际执行情况为,第一条浏览器抛错,后两条正确执行,这是为什么?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
第一个:
1.toString() ,语法错误,这里由于 . 的作用为 小数点,将整体认为是一个小数,
可以试试 1.a , 1.b 同样有错误。
使用 1.0.toString() 可以规避这种错误
第二个:
(1).toString(); 显然避开了上边的错误,将整个表达式分成了 1 toString() 两部分
同样的使用 1 .toString() 可以规避这错误(加空格)。
第三个:
-1 .toString(); 这里有个优先级问题, 实际为 :-(1 .toString()); 那么进一步理解为:
0 - "1" = -1 (number) 这里有个隐式的类型转换。
1.toString() 1是具体的值,显然是错误的。
(1).toString() 用()把1转成字符串"1",所以是正确的,()是转字符串的操作。
-1 .toString()这个就很诡异了,1 .toString()返回的是字符串"1",-1 .toString()返回的是数值-1,这个不是很明白。