在JavaScript中,为什么10..toString()正常,而10.toString()出错呢?


console.log(10..toString());//10
console.log(10.toString());//SyntaxError: Unexpected token ILLEGAL

为什么前者正常,而后者报错呢。

原因就是,在JavaScript中,数字后面的"."操作符是的意义是不确定。因为它既可能是一个浮点数的标志,又可能是取一个对象的属性的运算符。但是JavaScript的解释器把他当做了浮点数的标志,所以上面的代码和下面的是等价的

1 console.log((10.).toString());//正常
2 
3 console.log((10.)toString());//这样的话,中间没有操作符就报错了

猜你喜欢

转载自blog.csdn.net/qq_37016928/article/details/81022746