自定义Number.prototype使用变量但不直接使用数字

时间:2017-01-05 05:19:49

标签: javascript jquery

我在JS中包含了自定义的Number.prototype,如下所示:

Number.prototype.isBetween = function (first, last) {
   return (first < last ? this >= first && this <= last : this >= last && this <= first);
};

这正如预期的那样使用以下代码:

var a = 40;
a.isBetween(10,50)

结果:

但是当我尝试执行如下操作时,它会抛出一个错误:

40.isBetween(10,50)

结果: 未捕获的SyntaxError:无效或意外的令牌

如何使这个(40.isBetween(10,50))起作用?

1 个答案:

答案 0 :(得分:2)

您可以将数字括在括号中以解决此问题。

(40).isBetween(10,50)
// => true

如果没有括号,语法分析器通过抛出错误有意避免语法中存在歧义。

有关详细信息和其他解决方案,请参阅此问题的答案:Calling the toFixed method on a number literal