2012-10-09 60 views
2

有人可以解釋我如何克服這個東西?號碼原型定義

String.prototype.one = 1; 
"one".one; //returns 1 

Number.prototype.one = 1; 
1.one; //returns 'SyntaxError: Unexpected token ILLEGAL' 

回答

9

這是因爲解釋看到一個數字作爲一個小數,而不是一個屬性訪問後.,所以把它看作是這樣的:

(1.)one // SyntaxError 

給它一個.,它會工作。

1..one 

現在認爲它是這樣的:

(1.).one 

其他的解決方案:

1.0.one 
1["one"] 
(1).one