toString()的一道题目

1
2
3
4
5
3.toString()
3..toString()
3...toString()

//error , 3 ,error

解析:

​ 第一个:点运算符会被优先识别为数字常量的一部分,然后才是对象属性访问符。所以 3.toString() 实际上被JS引擎解析成 (3.)toString(),显然会出现语法错误。

​ 第二个:相当于(3.).toString(),3. 为浮点数,应该是被编译为了对象,所以其实相当于 3.0.toString() == “3”

​ 第三个:原理同一

来源于stackoverflow的同样一个问题

Copyright © 2018 - 2019 诗之花绪 All Rights Reserved.

UV : | PV :