發生了什麼事在JavaScript控制檯,如果鍵入如下:(1)的ToString()和1.toString()內的Javascript
1.toString(); // Uncaught SyntaxError: Invalid or unexpected token
(1).toString(); // "1"
什麼是JS裏面的編譯器的事情與這兩種說法?
發生了什麼事在JavaScript控制檯,如果鍵入如下:(1)的ToString()和1.toString()內的Javascript
1.toString(); // Uncaught SyntaxError: Invalid or unexpected token
(1).toString(); // "1"
什麼是JS裏面的編譯器的事情與這兩種說法?
()
是分組運算符,它返回其中表達式的值。在你的情況下,它是1
,一個原始數字。所以它可以被裝箱到一個Number
對象並且調用它的方法toString
。
但是對於1.toString()
,JS引擎無法確定.
的含義 - 點運算符(用於對象方法)還是浮點數點?
爲了解決這種混亂,沒有進行分組操作,你有兩種方法:
1 .toString()
//一個空格,可以作爲分組操作類似1..toString()
//兩個點,其中第二個是作爲點運算處理'1.0。toString()'也可以。 –
1.toString()
在.
在(1).toString()
後處理1爲一個整數,並期望數目,(1)是其中.
用於調用方法的表達式。
我們必須告訴了點是否小數部分或者對象屬性的分離。 –
1.toString()//這會給出錯誤,因爲在基本數據類型上沒有tostring方法Number/interger 但是當你做(1).toString()時,然後javascript在內部輸入corresion並將數字1轉換爲字符串「1」,然後在其上應用toString方法。 – atul
「1」.toString(); //「1」。你的理解是有道理的。但是如果
function(){}() // Unexpected token. and (function(){}()) // It's OK.
爲什麼不能直接調用匿名函數呢?@ÁlvaroGonzález – soarinblue