以下代碼有什麼區別?使用或不使用變量的數字之間的區別
var a = 1;
a.toString(); // outputs: "1"
但是,這將引發一個錯誤:
1.toString();
語法錯誤:意外的令牌非法
爲什麼?爲什麼第一個代碼可以工作,但第二個代碼會引發錯誤?
以下代碼有什麼區別?使用或不使用變量的數字之間的區別
var a = 1;
a.toString(); // outputs: "1"
但是,這將引發一個錯誤:
1.toString();
語法錯誤:意外的令牌非法
爲什麼?爲什麼第一個代碼可以工作,但第二個代碼會引發錯誤?
使用方法調用時,區分浮點型和方法調用點是很重要的。 因此,你可以不寫1.toString();
您必須使用下列選項之一:
1..toString()
1 .toString() //space before dot
(1).toString()
1.0.toString()
嘗試改變語法,
(1)的ToString()
數字可以有小數,所以當你去解析代碼時,用十進制結尾的語法有點模糊,使用括號是有效的。這是一個更清楚一點,當你看到,這也是有效的:(1)
的toString()
但是隻有
1.toString()它試圖解析爲一個一個數。十進制,並失敗。
The toString() method returns a string representing object.
所以,當你撥打:
a.toString();
你實際上是在對象上運行。當你定義一個變量時(實際上它是一個數字),你實際上正在創建一個內置對象。
當你這樣做:
1.toString();
的toString()不看1
爲對象或變量(二者都是在這種情況下是相同的),因爲它沒有規則:
Variable must begin with a letter
這裏1
不以字母開頭。所以toString()
知道它不在一個對象上運行並引發錯誤。