JavaScript-JS: 1.toString OR (1).toString

发布于 2017-02-10 06:05:57 字数 119 浏览 1148 评论 2

1.toString();
(1).toString();
-1 .toString();

请问这几个的区别?
实际执行情况为,第一条浏览器抛错,后两条正确执行,这是为什么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甜柠檬 2017-07-23 16:30:45

第一个:
1.toString() ,语法错误,这里由于 . 的作用为 小数点,将整体认为是一个小数,
可以试试 1.a , 1.b 同样有错误。
使用 1.0.toString() 可以规避这种错误

第二个:
(1).toString(); 显然避开了上边的错误,将整个表达式分成了 1 toString() 两部分
同样的使用 1 .toString() 可以规避这错误(加空格)。

第三个:

-1 .toString(); 这里有个优先级问题, 实际为 :-(1 .toString()); 那么进一步理解为:
0 - "1" = -1 (number) 这里有个隐式的类型转换。

清晨说ぺ晚安 2017-05-13 10:37:45

1.toString() 1是具体的值,显然是错误的。
(1).toString() 用()把1转成字符串"1",所以是正确的,()是转字符串的操作。
-1 .toString()这个就很诡异了,1 .toString()返回的是字符串"1",-1 .toString()返回的是数值-1,这个不是很明白。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文