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 相关文章推荐
Packer 3.0 JS压缩及混淆工具 下载
May 03 Javascript
一个小例子解释如何来阻止Jquery事件冒泡
Jul 17 Javascript
点击button获取text内容并改变样式的js实现
Sep 09 Javascript
详解Bootstrap按钮
Jan 04 Javascript
jquery调整表格行tr上下顺序实例讲解
Jan 09 Javascript
Angular的模块化(代码分享)
Dec 26 Javascript
微信小程序 this和that详解及简单实例
Feb 13 Javascript
jQuery使用ajax_动力节点Java学院整理
Jul 05 jQuery
Vue动态生成el-checkbox点击无法赋值的解决方法
Feb 21 Javascript
vue学习笔记之作用域插槽实例分析
Feb 01 Javascript
vue实现图书管理系统
Dec 29 Vue.js
JavaScript高级程序设计之变量与作用域
Nov 17 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获取photoshop写入图片文字信息的方法
2015/03/31 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
PHP获取数组中指定的一列实例
2017/12/27 PHP
在 Laravel 6 中缓存数据库查询结果的方法
2019/12/11 PHP
$.ajax返回的JSON无法执行success的解决方法
2011/09/09 Javascript
JQuery的Ajax跨域请求原理概述及实例
2013/04/26 Javascript
javascript中的原型链深入理解
2014/02/24 Javascript
jQuery实现dialog设置focus焦点的方法
2015/06/10 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
2015/08/24 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
2016/09/23 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
JavaScript中transform实现数字翻页效果
2017/03/08 Javascript
vue组件jsx语法的具体使用
2018/05/21 Javascript
微信小程序实现搜索功能并跳转搜索结果页面
2019/05/18 Javascript
使用Phantomjs和Node完成网页的截屏快照的方法
2019/07/16 Javascript
JS实现判断移动端PC端功能
2020/02/21 Javascript
[45:56]Ti4正赛第一天 VG vs NEWBEE 3
2014/07/19 DOTA
[20:39]DOTA2-DPC中国联赛 正赛开幕式 1月18日
2021/03/11 DOTA
Python爬虫利用cookie实现模拟登陆实例详解
2017/01/12 Python
Python编程实现及时获取新邮件的方法示例
2017/08/10 Python
Django项目中包含多个应用时对url的配置方法
2018/05/30 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
Python父目录、子目录的相互调用方法
2019/02/16 Python
Python属性和内建属性实例解析
2020/01/14 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
2020/05/11 Python
美国领先的在线邮轮旅游公司:CruiseDirect
2018/06/07 全球购物
会计专业自荐信
2013/12/02 职场文书
银行实习鉴定
2013/12/13 职场文书
教导处工作制度
2014/01/18 职场文书
工地例会施工汇报材料
2014/08/22 职场文书
2015年读书月活动总结
2015/03/26 职场文书
员工开除通知书
2015/04/25 职场文书
Python控制台输出俄罗斯方块移动和旋转功能
2021/04/18 Python
MySQL连接控制插件介绍
2021/09/25 MySQL
解决redis批量删除key值的问题
2022/03/23 Redis
Java设计模式之代理模式
2022/04/22 Java/Android