javascript使用中為什麼10..toString()正常而10.toString()出錯呢

NO IMAGE

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

問題的描述是這樣的
複製程式碼 程式碼如下:
console.log(10..toString());//10
console.log(10.toString());//SyntaxError: Unexpected token ILLEGAL

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

原因就是,在JavaScript中,數字後面的”.”操作符是的意義是不確定。因為它既可能是一個浮點數的標誌,又可能是取一個物件的屬性的運算子。但是JavaScript的直譯器把他當做了浮點數的標誌,所以上面的程式碼和下面的是等價的
複製程式碼 程式碼如下:
console.log((10.).toString());//正常
console.log((10.)toString());//這樣的話,當然就報錯了(完)^_^

您可能感興趣的文章:

Javascript拓展String方法小結JavaScript實現QueryString獲取GET引數的方法javascript擷取字串(通過substring實現並支援中英文混合)JavaScript String.replace函式引數例項說明javascript中強制執行toString()具體實現java中String與StringBuilder的區別java_String和StringBuffer區別分析關於JavaScript中string 的replaceJavascript中valueOf與toString區別淺析全面解釋java中StringBuilder、StringBuffer、String類之間的關係javascript 中String.match()與RegExp.exec()的區別說明JavaScript中json物件和string物件之間相互轉化JavaScript字串String和Array操作的有趣方法Javascript Boolean、Nnumber、String 強制型別轉換的區別詳細介紹JavaScript中valueOf函式與toString方法深入理解java string 轉date方法如何實現java string類的常用方法詳細介紹java中String的一些方法深入解析