有这么一段程序:
<script language="javascript" type="text/javascript">
function inArray(val,arr)//返回val在arr中的索引值
{
var idx = -1;
for(i=0;i<arr.length;i++)
{
if(val==arr[i])
{
idx = i;
break;
}
}
return idx;
}
var str = "1,2,3,4,5,6";
var arr = str.split(",");
alert(inArray(1,arr)); //0
alert(jQuery.inArray(1,arr)); //-1
</script>
两种方法的意义相同,但结果不同,遇到过几次,没太当回事,今日又遇到了,仔细一想,原来是数据类型的问题,jQuery.inArray检索数据时对类型要求严格,而直接在js中比较时则没比较,例如,alert(1=="1");返回true。