2

有人可以解释我如何克服这件事吗?

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

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

1 回答 1

9

这是因为解释器将.数字后面的 a 视为小数,而不是属性访问器,因此它认为它是这样的:

(1.)one  // SyntaxError

再给它一个.,它会工作的。

1..one

它现在认为它是这样的:

(1.).one

其他解决方案:

1.0.one
1["one"]
(1).one
于 2012-10-09T13:14:12.660 回答