猿问

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!


慕姐4208626
浏览 763回答 1
1回答

潇湘沐

如果是判断是否是任意数字,那么:typeof index === 'number' && Number.isInfinity(index);考虑到你需要的是自然数,应该这样:Number.isInteger(index) && index >= 0index可以是数字或字符串数字。那么最好的方法就是用正则表达式了,大概是这样的:/(0|[1-9][0-9]+)/
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答