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的闭包
Dec 31 Javascript
js中的值类型和引用类型小结 文字说明与实例
Dec 12 Javascript
JavaScript NaN和Infinity特殊值 [译]
Sep 20 Javascript
jquery快捷动态绑定键盘事件的操作函数代码
Oct 17 Javascript
AngularJS入门教程(一):静态模板
Dec 06 Javascript
JS实现的Select三级下拉菜单代码
Aug 20 Javascript
js继承实现方法详解
Dec 16 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
Feb 05 Javascript
jQuery插件HighCharts绘制2D带Label的折线图效果示例【附demo源码下载】
Mar 08 Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
Jan 25 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
Jan 23 Javascript
Layui带搜索的下拉框的使用以及动态数据绑定方法
Sep 28 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.MVC的模板标签系统(三)
2006/09/05 PHP
Yii分页用法实例详解
2014/12/04 PHP
基于PHP实现简单的随机抽奖小程序
2016/01/05 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
2019/12/04 PHP
PHP安装扩展mcrypt以及相关依赖项深入讲解
2021/03/04 PHP
Jquery 实现grid绑定模板
2015/01/28 Javascript
jQuery获取样式中颜色值的方法
2015/01/29 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
2015/12/02 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
2016/01/04 Javascript
JavaScript File API文件上传预览
2016/02/02 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
2016/05/09 Javascript
关于验证码在IE中不刷新的快速解决方法
2016/09/23 Javascript
JS获取子、父、兄节点方法小结
2017/08/14 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
微信小程序自定义modal弹窗组件的方法详解
2020/12/20 Javascript
[07:27]DOTA2卡尔工作室 英雄介绍水晶室女篇
2013/06/21 DOTA
[09:59]DOTA2-DPC中国联赛2月7日Recap集锦
2021/03/11 DOTA
简单谈谈python的反射机制
2016/06/28 Python
python实现报表自动化详解
2017/11/16 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
Python用access判断文件是否被占用的实例方法
2020/12/17 Python
python sleep和wait对比总结
2021/02/03 Python
ghd法国官方网站:英国最受欢迎的美发工具品牌
2019/04/18 全球购物
学术会议欢迎词
2014/01/09 职场文书
初一科学教学反思
2014/01/27 职场文书
读书活动总结范文
2014/04/26 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
乡镇消防安全责任书
2014/07/23 职场文书
公司委托书格式
2014/08/01 职场文书
教师纪念9.18事件演讲稿范文
2014/09/14 职场文书
质量整改报告范文
2014/11/08 职场文书
2014年校长工作总结
2014/12/11 职场文书
会议欢迎词范文
2015/01/27 职场文书
关于法制教育的宣传语
2015/07/13 职场文书
python 算法题——快乐数的多种解法
2021/05/27 Python
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL