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

來源:互聯網
上載者:User

這個問題是在著名的問答網站——stackoverflow上看到的。

之前也看到過JavaScript的這個問題,但是沒有深入瞭解,今天在StackOverflow上看到了答案,感覺不錯,記下來分享給大家。

問題的描述是這樣的:

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

為什麼前者正常,而後者報錯呢。

原因就是,在JavaScript中,數字後面的"."操作符是的意義是不確定。因為它既可能是一個浮點數的標誌,又可能是取一個對象的屬性的運算子。但是JavaScript的解譯器把他當做了浮點數的標誌,所以上面的代碼和下面的是等價的

1 console.log((10.).toString());//正常2 3 console.log((10.)toString());//這樣的話,當然就報錯了

(完)^_^

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.