這個問題是在著名的問答網站——stackoverflow上看到的。
之前也看到過JavaScript的這個問題,但是沒有深入了解,今天在StackOverflow上看到了答案,感覺不錯,記下來分享給大家。
問題的描述是這樣的:
1 console.log(10..toString());//10 2 3 console.log(10.toString());//SyntaxError: Unexpected token ILLEGAL
為什么前者正常,而后者報錯呢。
原因就是,在JavaScript中,數字后面的"."操作符是的意義是不確定。因為它既可能是一個浮點數的標志,又可能是取一個對象的屬性的運算符。但是JavaScript的解釋器把他當做了浮點數的標志,所以上面的代碼和下面的是等價的
1 console.log((10.).toString());//正常 2 3 console.log((10.)toString());//這樣的話,當然就報錯了
(完)^_^