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 相关文章推荐
FLASH 广告之外的链接
Dec 16 Javascript
js修改input的type属性及浏览器兼容问题探讨与解决
Jan 23 Javascript
JavaScript中字符串分割函数split用法实例
Apr 07 Javascript
浅谈JavaScript异常处理语句
Jun 26 Javascript
jQuery实现Tab选项卡切换效果简单演示
Nov 23 Javascript
微信小程序  audio音频播放详解及实例
Nov 02 Javascript
AngularJS中transclude用法详解
Nov 03 Javascript
微信小程序 自定义对话框实例详解
Jan 20 Javascript
vuejs实现本地数据的筛选分页功能思路详解
Nov 15 Javascript
详解关于vue-area-linkage走过的坑
Jun 27 Javascript
vue elementUI 表单校验功能之数组多层嵌套
Jun 04 Javascript
vue实现滑动超出指定距离回顶部功能
Jul 31 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/06 新手入门
php 数组动态添加实现代码(最土团购系统的价格排序)
2011/12/30 PHP
搭建Vim为自定义的PHP开发工具的一些技巧
2015/12/11 PHP
php使用变量动态创建类的对象用法示例
2017/02/06 PHP
jQuery 拖动层(在可视区域范围内)
2012/05/24 Javascript
javascript控制swfObject应用介绍
2012/11/29 Javascript
js获取指定日期前后的日期代码
2013/08/20 Javascript
js opener的使用详解
2014/01/11 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
2015/08/17 Javascript
浅谈javascript中replace()方法
2015/11/10 Javascript
基于javascript实现随机颜色变化效果
2016/01/14 Javascript
Angular2 PrimeNG分页模块学习
2017/01/14 Javascript
jQuery实现验证码功能
2017/03/17 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
2017/07/04 Javascript
详解如何配置vue-cli3.0的vue.config.js
2018/08/23 Javascript
ES6 let和const定义变量与常量的应用实例分析
2019/06/27 Javascript
JS实现的碰撞检测与周期移动完整示例
2019/09/02 Javascript
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
Python实现对PPT文件进行截图操作的方法
2015/04/28 Python
Python ftp上传文件
2016/02/13 Python
python实现石头剪刀布程序
2021/01/20 Python
python使用Plotly绘图工具绘制气泡图
2019/04/01 Python
详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件
2019/08/23 Python
python 图像插值 最近邻、双线性、双三次实例
2020/07/05 Python
推荐技术人员一款Python开源库(造数据神器)
2020/07/08 Python
如何用Matplotlib 画三维图的示例代码
2020/07/28 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
CSS3实现的炫酷菜单代码分享
2015/03/12 HTML / CSS
使用CSS3来绘制一个月食图案
2015/07/18 HTML / CSS
英国在线购买马术服装:EQUUS
2019/07/12 全球购物
《美丽的田园》教学反思
2014/03/01 职场文书
导游欢送词
2015/01/31 职场文书
鼋头渚导游词
2015/02/05 职场文书
名人传读书笔记
2015/06/26 职场文书
2015年六年级班主任工作总结
2015/10/15 职场文书