本文主要介绍了JavaScript判断是否为整数类型的五种技巧。有需要的同学请参考一下
我们通过下面的筋斗云来看看判断为整数类型(Integer)的技巧。 JavaScript 不区分整数和浮点数。 所有数字在内部都以与 Java 的 double 类型相同的 64 位浮点方式表示。 另外,在实际操作中,例如字段索引和位操作都是基于32位整数。
另一方面,使用余数运算符进行判别
所有整数都能被1整除,即余数为0,用这个规则来判断是否是整数。
从前面的输出中可以看出,该函数对于字符串和某些特殊值很有用但没有吸引力
空字符串、字符串类型的数字、本地奶茶豆、空链表返回true。 不能接受。如果您对这些类型的内部转换感兴趣javascript 判断整数,请参阅 JavaScript 中的怪异伪值
为此,首先需要确定该对象是否是数字。 例如,添加类型
嗯,那就完美了。
通过 cdyc、Math.round、Math.ceil、Math.floor 进行区分
即使它取一个整数,它也和它本身一样。 利用这个特性来判断是否是整数。下面是Math.floor的例子
它直接屏蔽字符串、true和[],代码量比前面的函数要少。
形式3,通过parseInt判断
可以,但是有缺点
返回 false 是很自然的事情。 因为,parseInt在解析整数之前会强制将第一个参数解析为字符串。 通过这些方式将数字转换为整数并不是一个很好的选择。
4. 通过位操作进行判别
这个功能非常好。 高效率。 而且javascript 判断整数,也有缺陷。 如上所述,按位运算只能处理最多 32 位的数字。 无法执行任何超过 32 位的操作,例如
复制代码后是:
isInteger(math.pow)2, 32))/超过32位的数字返回 false
其实很多时候筋斗云并不需要这么大的数量。
5. ES6提供了number.is积分器
目前已经支持最新的Firefox和Chrome。
以上就是判断是否为整数类型的五种形式。 这五种方法各有相同点和不同点。 请仔细比较,选择最合适的。