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


這個問題是在著名的問答網站——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());//這樣的話,當然就報錯了

(完)^_^


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM