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 相关文章推荐
巧用js提交表单轻松解决一个页面有多个提交按钮
Nov 17 Javascript
Javascript Ajax异步读取RSS文档具体实现
Dec 12 Javascript
高性能JavaScript模板引擎实现原理详解
Feb 05 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
Mar 03 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
Jan 18 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
Mar 07 Javascript
jQuery 弹出层插件(推荐)
May 24 Javascript
jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
Nov 18 Javascript
Vue.js实现模拟微信朋友圈开发demo
Apr 20 Javascript
Angular 2 ngForm中的ngModel、[ngModel]和[(ngModel)]的写法
Jun 29 Javascript
React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)
Jul 11 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
Sep 06 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
php socket客户端及服务器端应用实例
2014/07/04 PHP
PHP实现操作redis的封装类完整实例
2015/11/14 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
2016/06/21 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
Jquery 绑定时间实现代码
2011/05/03 Javascript
php跨域调用json的例子
2013/11/13 Javascript
jquery合并表格中相同文本的相邻单元格
2015/07/17 Javascript
js实现千分符和保留几位小数的简单实例
2016/08/01 Javascript
jquery PrintArea 实现票据的套打功能(代码)
2017/03/17 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
2017/12/10 Javascript
Vue 事件处理操作实例详解
2019/03/05 Javascript
Vue 实现从小到大的横向滑动效果详解
2019/10/16 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
2020/04/21 Javascript
ES6扩展运算符和rest运算符用法实例分析
2020/05/23 Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
2020/05/24 Javascript
[01:29:31]VP VS VG Supermajor小组赛胜者组第二轮 BO3第一场 6.2
2018/06/03 DOTA
Linux下为不同版本python安装第三方库
2016/08/31 Python
学生信息管理系统Python面向对象版
2019/01/30 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
2019/04/29 Python
Python中的相关分析correlation analysis的实现
2019/08/29 Python
Python3.x+迅雷x 自动下载高分电影的实现方法
2020/01/12 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
css3实现可拖动的魔方3d效果
2019/05/07 HTML / CSS
中国旅游网站:途牛旅游网
2019/09/29 全球购物
Java程序员常见面试题
2015/07/16 面试题
青年文明号口号
2014/06/17 职场文书
企业安全生产目标责任书
2014/07/23 职场文书
电话客服工作职责
2014/07/27 职场文书
保险公司演讲稿
2014/09/02 职场文书
公司周年庆典标语
2014/10/07 职场文书
实习介绍信模板
2015/01/30 职场文书
律师催款函范文
2015/06/24 职场文书
javascript对象3个属性特征
2021/11/17 Javascript
Redis实现订单过期删除的方法步骤
2022/06/05 Redis