javascript - js如何判断一个方法的参数为数字确保方法体里的eq正确执行
本文介绍了javascript - js如何判断一个方法的参数为数字确保方法体里的eq正确执行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
假设有个方法
/* index为数字或字符串数字 */
function test(index) {
// index验证预处理
return $('input').eq(index).val();
}
如何确保eq正确执行?
我根据大家的答案写了个结果,应该长这样:
function test(index) {
/^[+-]?\d+$/.test(index) ? index = parseInt(index) : index = 0;
return $('input').eq(index).val();
}
大家看看如何?另外大家回答都差不多,所以采纳第一个回答的人了,3q!
解决方案
如果是判断是否是任意数字,那么:
typeof index === 'number' && Number.isInfinity(index);
考虑到你需要的是自然数,应该这样:
Number.isInteger(index) && index >= 0
更新:
题主修改了问题,index可以是数字或字符串数字。那么最好的方法就是用正则表达式了,大概是这样的:
/(0|[1-9][0-9]+)/
这篇关于javascript - js如何判断一个方法的参数为数字确保方法体里的eq正确执行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文