jQuery中inArray方法注意事项分析


Posted in Javascript onJanuary 25, 2016

本文分析讲述了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程序设计有所帮助。

Javascript 相关文章推荐
DLL+ ActiveX控件+WEB页面调用例子
Aug 07 Javascript
使用Json比用string返回数据更友好,也更面向对象一些
Sep 13 Javascript
js动态创建标签示例代码
Jun 09 Javascript
js使用for循环与innerHTML获取选中tr下td值
Sep 26 Javascript
js实现的二级横向菜单条实例
Aug 22 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
Jan 04 Javascript
JavaScript对象数组排序实例方法浅析
Jun 15 Javascript
BootStrop前端框架入门教程详解
Dec 25 Javascript
详解angularjs结合pagination插件实现分页功能
Feb 10 Javascript
JS排序之选择排序详解
Apr 08 Javascript
js实现漂亮的星空背景
Nov 01 Javascript
基于vue和bootstrap实现简单留言板功能
May 30 Javascript
jquery ui dialog替代confirm实例分析
Jan 25 #Javascript
AngularJS控制器controller正确的通信的方法
Jan 25 #Javascript
AngularJS入门心得之directive和controller通信过程
Jan 25 #Javascript
详解jquery事件delegate()的使用方法
Jan 25 #Javascript
AngularJS中的Directive实现延迟加载
Jan 25 #Javascript
AngularJS中的Directive自定义一个表格
Jan 25 #Javascript
理解JavaScript事件对象
Jan 25 #Javascript
You might like
咖啡豆分级制度 咖啡豆等级分类 咖啡豆是按口感分类的吗?
2021/03/05 新手入门
ThinkPHP使用Ueditor的方法详解
2016/05/20 PHP
javascript 3d 逐侦产品展示(核心精简)
2014/03/26 Javascript
jQuery的cookie插件实现保存用户登陆信息
2014/04/15 Javascript
javascript中的previousSibling和nextSibling的正确用法
2015/09/16 Javascript
如何用JS判断两个数字的大小
2016/07/21 Javascript
HTML5基于Tomcat 7.0实现WebSocket连接并实现简单的实时聊天
2016/10/31 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
jQuery插件HighCharts绘制简单2D柱状图效果示例【附demo源码】
2017/03/21 jQuery
JS简单实现数组去重的方法分析
2017/10/14 Javascript
Swiper.js实现移动端元素左右滑动
2019/09/08 Javascript
[43:33]EG vs Spirit Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
[51:26]VP vs VG 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python实现类似ftp传输文件的网络程序示例
2014/04/08 Python
Python数据类型详解(一)字符串
2016/05/08 Python
Python多维/嵌套字典数据无限遍历的实现
2016/11/04 Python
Java分治归并排序算法实例详解
2017/12/12 Python
python将txt文档每行内容循环插入数据库的方法
2018/12/28 Python
Python基础之函数的定义与使用示例
2019/03/23 Python
对于Python深浅拷贝的理解
2019/07/29 Python
Python内置数据类型list各方法的性能测试过程解析
2020/01/07 Python
python使用docx模块读写docx文件的方法与docx模块常用方法详解
2020/02/17 Python
python实现可下载音乐的音乐播放器
2020/02/25 Python
如何利用python之wxpy模块玩转微信
2020/08/17 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
2020/10/09 Python
django中ImageField的使用详解
2020/12/21 Python
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
"引用"与多态的关系
2013/02/01 面试题
金融专业个人求职信范文
2013/11/28 职场文书
组织关系转移介绍信
2014/01/16 职场文书
监督检查工作方案
2014/05/28 职场文书
写景作文评语集锦
2014/12/25 职场文书
2015年团支部工作总结
2015/04/03 职场文书
企业战略合作意向书
2015/05/08 职场文书
python实战之用emoji表情生成文字
2021/05/08 Python
CSS三大特性继承性、层叠性和优先级详解
2022/01/18 HTML / CSS