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二维数组实现的省市联动菜单
May 08 Javascript
js对象继承之原型链继承实例
Jan 10 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
Mar 04 Javascript
JS实现CheckBox复选框全选全不选功能
May 06 Javascript
详解AngularJS中的http拦截
Feb 09 Javascript
jquery遍历标签中自定义的属性方法
Sep 17 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
Nov 28 Javascript
JS与jQuery实现子窗口获取父窗口元素值的方法
Apr 17 jQuery
基于rem的移动端响应式适配方案(详解)
Jul 07 Javascript
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
Sep 23 jQuery
了解在JavaScript中将值转换为字符串的5种方法
Jun 06 Javascript
Ant Design的可编辑Tree的实现操作
Oct 31 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中session与cookie的比较
2015/01/27 PHP
Yii使用Captcha验证码的方法
2015/12/28 PHP
Yii2.0中的COOKIE和SESSION用法
2016/08/12 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
javascript模拟的Ping效果代码 (Web Ping)
2011/03/13 Javascript
js创建子窗口并且回传值示例代码
2013/07/02 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
2014/10/17 Javascript
jQuery使用after()方法在元素后面添加多项内容的方法
2015/03/26 Javascript
jquery实现左右滑动菜单效果代码
2015/08/27 Javascript
jquery对dom节点的操作【推荐】
2016/04/15 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
图文详解JavaScript的原型对象及原型链
2016/08/02 Javascript
js 判断各种数据类型的简单方法(推荐)
2016/08/29 Javascript
解决Angular.Js与Django标签冲突的方案
2016/12/20 Javascript
jQuery实现扑克正反面翻牌效果
2017/03/10 Javascript
带你快速理解javascript中的事件模型
2017/08/14 Javascript
javascript实现文字无缝滚动效果
2017/08/26 Javascript
在nginx上部署vue项目(history模式)的方法
2017/12/28 Javascript
微信小程序三级联动选择器使用方法
2020/05/19 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
2019/09/06 Javascript
JQuery中的常用事件、对象属性与使用方法分析
2019/12/23 jQuery
html+vue.js 实现漂亮分页功能可兼容IE
2020/11/07 Javascript
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
Python实现简单过滤文本段的方法
2017/05/24 Python
python爬虫headers设置后无效的解决方法
2017/10/21 Python
pandas去重复行并分类汇总的实现方法
2019/01/29 Python
DJANGO-URL反向解析REVERSE实例讲解
2019/10/25 Python
python实现高斯投影正反算方式
2020/01/17 Python
python如何通过twisted搭建socket服务
2020/02/03 Python
django执行数据库查询之后实现返回的结果集转json
2020/03/31 Python
美国著名手表网站:Timepiece
2017/11/15 全球购物
爱护花草树木的标语
2014/06/11 职场文书
作风建设年度心得体会
2014/10/29 职场文书
大学同学聚会感言
2015/07/30 职场文书
Redis分布式锁Redlock的实现
2021/08/07 Redis
MongoDB数据库部署环境准备及使用介绍
2022/03/21 MongoDB