有人能解释我如何克服这件事吗?
String.prototype.one = 1;
"one".one; //returns 1
Number.prototype.one = 1;
1.one; //returns 'SyntaxError: Unexpected token ILLEGAL'
答案 0 :(得分:9)
这是因为解释器在数字后面看到.
作为小数,而不是属性访问器,因此它将其视为:
(1.)one // SyntaxError
给它另一个.
,它会起作用。
1..one
它现在看来是这样的:
(1.).one
其他解决方案:
1.0.one
1["one"]
(1).one