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 相关文章推荐
获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
Nov 08 Javascript
js弹出的对话窗口永远保持居中显示
Dec 15 Javascript
js toFixed()方法的重写实现精度的统一
Mar 06 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
Mar 18 Javascript
js模仿php中strtotime()与date()函数实现方法
Aug 11 Javascript
自动完成的搜索框javascript实现
Feb 26 Javascript
AngularJS基础 ng-keyup 指令简单示例
Aug 02 Javascript
微信公众号菜单配置微信小程序实例详解
Mar 31 Javascript
Angular实现的进度条功能示例
Feb 18 Javascript
Vue Echarts实现可视化世界地图代码实例
May 07 Javascript
原生js实现碰撞检测
Mar 12 Javascript
详解React中共享组件逻辑的三种方式
Feb 02 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使用gzip压缩传输js和css文件的方法
2015/07/29 PHP
php实现博客,论坛图片防盗链的方法
2016/10/15 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
CSS3画一个阴阳八卦图
2021/03/09 HTML / CSS
js操作textarea 常用方法总结
2012/12/03 Javascript
ajax的hide隐藏问题解决方法
2012/12/11 Javascript
jquery子元素过滤选择器使用示例
2013/06/24 Javascript
深入理解JavaScript系列(42):设计模式之原型模式详解
2015/03/04 Javascript
JavaScript中定义函数的三种方法
2015/03/12 Javascript
微信小程序手势操作之单触摸点与多触摸点
2017/03/10 Javascript
js canvas实现QQ拨打电话特效
2017/05/10 Javascript
微信小程序实现MUI数字输入框效果
2018/01/31 Javascript
在移动端使用vue-router和keep-alive的方法示例
2018/12/02 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
2019/11/04 Javascript
[00:29]2019完美世界全国高校联赛(秋季赛)总决赛海口落幕
2019/12/10 DOTA
python多线程抓取天涯帖子内容示例
2014/04/03 Python
python中MySQLdb模块用法实例
2014/11/10 Python
python判断字符串编码的简单实现方法(使用chardet)
2016/07/01 Python
[原创]使用豆瓣提供的国内pypi源
2017/07/02 Python
利用python实现微信头像加红色数字功能
2018/03/26 Python
Python 离线工作环境搭建的方法步骤
2019/07/29 Python
python中的函数递归和迭代原理解析
2019/11/14 Python
python安装第三方库如xlrd的方法
2020/10/31 Python
美国浴缸、水槽和水龙头购物网站:Vintage Tub & Bath
2019/11/05 全球购物
草莓网中国:StrawberryNet中国
2020/08/17 全球购物
应用服务器有那些
2012/01/19 面试题
文秘档案管理岗位职责
2014/03/06 职场文书
幼儿教师小班个人总结
2015/02/05 职场文书
语文教师个人工作总结
2015/02/06 职场文书
召开会议通知范文
2015/04/15 职场文书
雨中的树观后感
2015/06/03 职场文书
大学生暑假实习总结
2015/07/13 职场文书
大学文艺委员竞选稿
2015/11/19 职场文书
会议主持词通用版
2019/04/02 职场文书
python实现批量移动文件
2021/04/05 Python
Jmerte 分布式压测及分布式压测配置
2022/04/30 Java/Android