jQuery1.6 使用方法二


Posted in Javascript onNovember 23, 2011

makeArray: function( array, results ) {//转换一个类似数组的对象成为真正的JavaScript数组。 results为可选参数
var ret = results || [];//results作为存放arry的数组,如果没有定义就设置为空数组

 if ( array != null ) {{//window,String,Function,Array类型的.length不为undefined;(document.getElementById IE 为undefined,jQuery.type(document.getElementById )为object,所以类似这样的方法在IE下比较特别,可以jquery里的type方法)

var type = jQuery.type( array );
if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) )
push.call( ret, array );// 传入的对象不是数组,就push加入ret数组中
} else {
jQuery.merge( ret, array );//传入对象是数组或者类似数组,直接合并到ret数组中
}
}
return ret;
},
inArray: function( elem, array ) {//搜索数组中指定值并返回它的索引(如果没有找到则返回-1)。
if ( indexOf ) {//ECMA - 262标准的浏览器都支持,IE系列要到IE9才支持Array.prototype.indexOf,
return indexOf.call( array, elem );
}
for ( var i = 0, length = array.length; i < length; i++ ) {//IE9以下版本,通过循环数组来判断
if ( array[ i ] === elem ) {
return i;
}
}
return -1;
},
merge: function( first, second ) {//合并数组
var i = first.length,
j = 0;
if ( typeof second.length === "number" ) {//简单检测对象是否有length属性,有则循环添加到操作数组后面
for ( var l = second.length; j < l; j++ ) {//String,Array类型
first[ i++ ] = second[ j ];
}
} else {
while ( second[j] !== undefined ) {
first[ i++ ] = second[ j++ ];
}
}
first.length = i;
return first;
},
grep: function( elems, callback, inv ) {//查找满足过滤功能数组元素。原始数组不受影响。
var ret = [], retVal;
inv = !!inv;//转化成布尔值类型,如果没有明确指定inv或者指定为false,inv=false;
for ( var i = 0, length = elems.length; i < length; i++ ) {
retVal = !!callback( elems[ i ], i );//转化成布尔值类型
if ( inv !== retVal ) {//callback返回的结果如果与inv相反,即保留
ret.push( elems[ i ] );
}
}
return ret;
},

Javascript 相关文章推荐
Javascript 判断函数类型完美解决方案
Sep 02 Javascript
js 变量类型转换常用函数与代码[比较全]
Dec 01 Javascript
js网页中的(运行代码)功能实现思路
Feb 04 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
Nov 25 Javascript
JavaScript动态修改弹出窗口大小的方法
Apr 06 Javascript
详解JavaScript中Date.UTC()方法的使用
Jun 12 Javascript
文件上传的几个示例分享【推荐】
Dec 16 Javascript
详解基于webpack和vue.js搭建开发环境
Apr 05 Javascript
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
Apr 13 jQuery
Vue.js实现微信过渡动画左右切换效果
Jun 13 Javascript
vue使用监听实现全选反选功能
Jul 06 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
Nov 01 Javascript
jQuery1.6 使用方法一
Nov 23 #Javascript
JS 表单验证大全
Nov 23 #Javascript
JavaScript中的16进制字符(改进)
Nov 21 #Javascript
日期处理的js库(迷你版)--自建js库总结
Nov 21 #Javascript
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
Nov 21 #Javascript
页面调用单个swf文件,嵌套出多个方法。
Nov 21 #Javascript
javascript中xml操作实现代码
Nov 21 #Javascript
You might like
一个自定义位数的php多用户计数器代码
2007/03/11 PHP
php.ini中的php-5.2.0配置指令详解
2008/03/27 PHP
解析php中获取系统信息的方法
2013/06/25 PHP
php解析xml方法实例详解
2015/05/12 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
PHP多维数组转一维数组的简单实现方法
2015/12/23 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
Laravel框架实现即点即改功能的方法分析
2019/10/31 PHP
jquery的flexigrid无法显示数据提示获取到数据
2013/07/19 Javascript
div失去焦点事件实现思路
2014/04/22 Javascript
浅析BootStrap Treeview的简单使用
2016/10/12 Javascript
vue-cli开发时,关于ajax跨域的解决方法(推荐)
2018/02/03 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
vue elementUI使用tabs与导航栏联动
2019/06/21 Javascript
vue cli安装使用less的教程详解
2019/07/12 Javascript
微信小程序判断用户是否需要再次授权获取个人信息
2019/07/18 Javascript
js实现一个简易计算器
2020/03/30 Javascript
jquery将json转为数据字典的实例代码
2019/10/11 jQuery
Vue 实现html中根据类型显示内容
2019/10/28 Javascript
vue实现几秒后跳转新页面代码
2020/09/09 Javascript
python中的全局变量用法分析
2015/06/09 Python
解决pycharm界面不能显示中文的问题
2018/05/23 Python
Python全局变量与局部变量区别及用法分析
2018/09/03 Python
对pandas中两种数据类型Series和DataFrame的区别详解
2018/11/12 Python
django主动抛出403异常的方法详解
2019/01/04 Python
Python 实现文件打包、上传与校验的方法
2019/02/13 Python
python学生信息管理系统实现代码
2019/12/17 Python
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
详解HTML5 录音的踩坑之旅
2017/12/26 HTML / CSS
2013年员工自我评价范文
2013/12/27 职场文书
有关九一八事变的演讲稿
2014/09/14 职场文书
药店采购员岗位职责
2014/09/30 职场文书
2015年全国爱耳日活动总结
2015/02/27 职场文书
应用最多的公文《通知》如何写?
2019/04/02 职场文书
java版 联机五子棋游戏
2022/05/04 Java/Android
Redis实现短信验证码登录的示例代码
2022/06/14 Redis