javascript中是否存在基元或数据结构,与数字相比总会返回true?即。
theVariable > x //true
其中x是整数类型的任意数量?
答案 0 :(得分:0)
其中x是整数类型的任意数量?
Integer不是ECMAScript中的type,所以如果这是一个条件,那么首先需要测试 x 是否为整数,如下所示:
Number.isInteger(value) && Infinity > value;
将完成这项工作。
isInteger 测试是严格的,因此如果 value 是一个类似“2”的字符串,它将失败。如果应该允许字符串,则首先转换为Number,例如:
Number.isInteger(+value) && Infinity > value;
要使用 Number.isInteger ,需要支持ECMAScript 2015,因此IE可以原谅,MDN有polyfill。
如果您只是想测试值是否为有限整数,那么只需:
Number.isInteger(value);
对于 Infinity 和 -Infinity 返回false,对于其间的所有整数都返回true(可以在ECMAScript中表示)。