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 相关文章推荐
jquery 绑定回车动作扑捉回车键触发的事件
Mar 26 Javascript
js 调用百度地图api并在地图上进行打点添加标注
May 13 Javascript
jQuery实现自定义下拉列表
Jan 05 Javascript
详细分析使用AngularJS编程中提交表单的方式
Jun 19 Javascript
基于BootStrap Metronic开发框架经验小结【七】数据的导入、导出及附件的查看处理
May 12 Javascript
深入理解JQuery中的事件与动画
May 18 Javascript
JS中正则表达式全局匹配模式 /g用法详解
Apr 01 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
Jun 23 jQuery
基于vue v-for 多层循环嵌套获取行数的方法
Sep 26 Javascript
js纯前端实现腾讯cos文件上传功能的示例代码
May 14 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
Jun 12 Javascript
浅谈如何优雅处理JavaScript异步错误
Nov 12 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
收音机的保养
2021/03/01 无线电
CodeIgniter php mvc框架 中国网站
2008/05/26 PHP
PHP笔记之:基于面向对象设计的详解
2013/05/14 PHP
php内嵌函数用法实例
2015/03/20 PHP
浅谈PHP中JSON数据操作
2015/07/01 PHP
jquery1.4.2 for Visual studio 2010 模板文件
2010/07/14 Javascript
js获取客户端网卡的IP地址、MAC地址
2014/03/26 Javascript
快速学习jQuery插件 Form表单插件使用方法
2015/12/01 Javascript
javascript中利用柯里化函数实现bind方法
2016/04/29 Javascript
js中遍历对象的属性和值的方法
2016/07/27 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
动态统计当前输入内容的字节、字符数的实例详解
2017/10/27 Javascript
原生js封装添加class,删除class的实例
2017/11/06 Javascript
webpack 样式加载的实现原理
2018/06/12 Javascript
Vue框架下引入ActiveX控件的问题解决
2019/03/25 Javascript
通过实例了解js函数中参数的传递
2019/06/15 Javascript
JavaScript 生成唯一ID的几种方式
2021/02/19 Javascript
[02:14]2016国际邀请赛中国区预选赛Ehome晋级之路
2016/07/01 DOTA
python实现监控linux性能及进程消耗性能的方法
2014/07/25 Python
Python Tkinter基础控件用法
2014/09/03 Python
python运行其他程序的实现方法
2017/07/14 Python
python矩阵转换为一维数组的实例
2018/06/05 Python
对python中list的拷贝与numpy的array的拷贝详解
2019/01/29 Python
Python3中_(下划线)和__(双下划线)的用途和区别
2019/04/26 Python
Python实现打砖块小游戏代码实例
2019/05/18 Python
selenium+python自动化测试环境搭建步骤
2019/06/03 Python
python中eval与int的区别浅析
2019/08/11 Python
使用TFRecord存取多个数据案例
2020/02/17 Python
pandas创建DataFrame的7种方法小结
2020/06/14 Python
paramiko使用tail实时获取服务器的日志输出详解
2020/12/06 Python
python脚本定时发送邮件
2020/12/22 Python
斯洛伐克时尚服装网上商店:Cellbes
2016/10/20 全球购物
幼儿教师个人求职信范文
2013/09/21 职场文书
优秀学生干部先进事迹材料
2014/05/26 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
2014年化妆品销售工作总结
2014/12/01 职场文书