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使用encodeURI()和decodeURI()获取字符串值的方法
Aug 04 Javascript
JavaScript SHA512&amp;SHA256加密算法详解
Aug 11 Javascript
javascript实现日期时间动态显示示例代码
Sep 08 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
May 24 Javascript
jQuery中DOM节点删除之empty与remove
Jan 20 Javascript
Node连接mysql数据库方法介绍
Feb 07 Javascript
angular十大常见问题
Mar 07 Javascript
express默认日志组件morgan的方法
Apr 05 Javascript
浅析node.js的模块加载机制
May 25 Javascript
推荐15个最好用的JavaScript代码压缩工具
Feb 13 Javascript
小程序测试后台服务的方法(ngrok)
Mar 08 Javascript
JavaScript中callee和caller的区别与用法实例分析
Jun 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针对cookie操作的队列操作类实例
2014/12/10 PHP
php与Mysql的一些简单的操作
2015/02/26 PHP
php建立Ftp连接的方法
2015/03/07 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
2015/04/08 PHP
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
JavaScript面向对象之体会[总结]
2008/11/13 Javascript
jQuery实现checkbox全选的方法
2015/06/10 Javascript
angular route中使用resolve在uglify压缩后问题解决
2016/09/21 Javascript
JS判断来路是否是百度等搜索索引进行弹窗或自动跳转的实现代码
2016/10/09 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
2016/12/02 Javascript
jquery实现图片上传前本地预览
2017/04/28 jQuery
jQuery.form.js的使用详解
2017/06/14 jQuery
weebox弹出窗口不居中显示的解决方法
2017/11/27 Javascript
vue使用中的内存泄漏【推荐】
2018/07/10 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
2018/07/19 Javascript
vue实现点击选中,其他的不选中方法
2018/09/05 Javascript
Vue实现数据表格合并列rowspan效果
2020/11/30 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
2019/09/21 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
2019/11/26 Javascript
javascript实现切割轮播效果
2019/11/28 Javascript
js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期
2020/02/01 Javascript
[02:17]TI4西雅图DOTA2前线报道 啸天mik夫妻档解说
2014/07/08 DOTA
[01:59]翻天覆地,因你而变,7.20版本地图更新速览
2018/11/24 DOTA
Python Tkinter实现简易计算器功能
2018/01/30 Python
python-tornado的接口用swagger进行包装的实例
2019/08/29 Python
TensorFlow MNIST手写数据集的实现方法
2020/02/05 Python
Pycharm生成可执行文件.exe的实现方法
2020/06/02 Python
python语言中有算法吗
2020/06/16 Python
经销商会议欢迎词
2014/01/11 职场文书
小学科学教学反思
2014/01/26 职场文书
企业总经理助理岗位职责
2014/09/12 职场文书
基层党员群众路线教育实践活动个人对照检查材料思想汇报
2014/10/05 职场文书
幼师自荐信范文
2015/03/06 职场文书
运动会通讯稿600字
2015/07/20 职场文书
Mysql基础之常见函数
2021/04/22 MySQL
CSS实现九宫格布局(自适应)的示例代码
2022/02/12 HTML / CSS