jQuery中inArray方法注意事项分析
本文分析讲述了jQuery中inArray方法注意事项。分享给大家供大家参考,具体如下:
jquery为web开发者提供了很大的便捷,本文写作的目地是提醒大家慎重jquery中的inArray方法。
大家都知道javascript是一种弱类型语言,对于数字类型和字符类型,可以随意切换(例如:1+""="1"),下面开始说主题:
jquery的一个方法inArray(ele, array)是判断ele是否在array中存在,返回值是该元素第一次出现在数组array中的下标,没有时返回-1。
例如:
var a = 1; var array = [1,2,3]; var b = $.inArray(a, array);
此时,b等于0。
但是,如果此时将a="1";,那么,再执行一下:
b = $.inArray(a, array);
此时,b等于-1。这将带来一个问题,因为有的人可能只希望得到这样的判断:"1" == 1,该逻辑表达式实在在javascript环境中,返回的是true,但是,在inArray中,返回的确实false,所以,如果一个数组中,存放的是非对象变量,尤其是对数字进行判断时,最好采用原始的判断方法。
也可以采用正则表达式来验证如下:
var a = 1; var reg = new RegExp("(^"+a+",)|(^"+a+"$)|(,"+a+",)|(,"+a+"$)"); var array = [1,2,3,4]; reg.test(array.toString());// true a = "1"; reg.test(array.toString());// true
好了,就说这么多~~
更多关于jQuery数组相关内容感兴趣的读者可查看本站专题:《jquery数组用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
相关文章
jQuery操作attr、prop、val()/text()/html()、class属性
这篇文章主要介绍了jQuery操作attr、prop、val()/text()/html()、class属性 ,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-05-05jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
这篇文章主要介绍了jQuery实现带延时功能的水平多级菜单效果,可实现响应鼠标事件延时展示菜单的功能,涉及jQuery结合时间函数动态操作页面元素属性的相关技巧,需要的朋友可以参考下2016-09-09Jquery与JS两种方法仿twitter/新浪微博 高度自适应无缝滚动实现代码
Jquery与JS两种方法仿twitter/新浪微博 高度自适应无缝滚动的实现代码,需要的朋友可以参考下。2010-11-11
最新评论