我在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))起作用?
答案 0 :(得分:2)
您可以将数字括在括号中以解决此问题。
(40).isBetween(10,50)
// => true
如果没有括号,语法分析器通过抛出错误有意避免语法中存在歧义。
有关详细信息和其他解决方案,请参阅此问题的答案:Calling the toFixed method on a number literal